1

<div>ボタンをクリックすると表示される非表示のフォームがあります。<div>ボタンを含む非表示の入力フィールドがあります

最初に「追加」をクリックすると、divが表示されます。[キャンセル] を押して div を閉じ、[追加] を再度クリックすると、サイズが縮小したボタンが div に表示されます。

jsfiddle を確認してください: http://jsfiddle.net/uc3Ef/

4

4 に答える 4

4

これはvalue、すべてのinput要素の属性を何も設定しておらず、そのvalue属性がボタンのラベル テキストとして使用されているためです。

これを変える:

$('.hiddenDiv').find('input').each(function(){
    $(this).val("");
});

に:

$('.hiddenDiv').find('input[type="text"]').each(function(){
     $(this).val("");
});

ここにデモがあります:http://jsfiddle.net/uc3Ef/1/

.each()また、ここで使用する必要はありません。これを行うだけで済みます。

$('.hiddenDiv').find('input[type="text"]').val("");

これ.val(STRING)は、選択したすべての要素の値を設定するため機能します。のドキュメントは次の.val()とおりです。 http://api.jquery.com/val

ここにデモがあります: http://jsfiddle.net/uc3Ef/3/

于 2012-08-06T21:13:32.710 に答える
2

クリックすると値がクリアされますcancel

$(this).val("");
于 2012-08-06T21:13:05.753 に答える
2

値 (ボタンが表示するテキスト) を消去しているため、それらは「縮小」しています。

この行をキャンセル ボタン クリック イベントから削除して、もう一度お試しください :)

$(this).val("");
于 2012-08-06T21:14:00.947 に答える
2

入力の値をに設定し""、入力セレクターがボタンを選択します。input[type="text"]代わりに使用できます。また、メソッドを使用する必要はありませんeach。次を使用できます。

 $('.hiddenDiv').find('input[type="text"]').val("");

jQueryshow()メソッドは に等しく、要素を明らかにするためcss('display', 'block')に使用するだけで十分です。show()

 $('.hiddenDiv').show();   

デモ

于 2012-08-06T21:15:22.037 に答える