<div>
ボタンをクリックすると表示される非表示のフォームがあります。<div>
ボタンを含む非表示の入力フィールドがあります
最初に「追加」をクリックすると、divが表示されます。[キャンセル] を押して div を閉じ、[追加] を再度クリックすると、サイズが縮小したボタンが div に表示されます。
jsfiddle を確認してください: http://jsfiddle.net/uc3Ef/
<div>
ボタンをクリックすると表示される非表示のフォームがあります。<div>
ボタンを含む非表示の入力フィールドがあります
最初に「追加」をクリックすると、divが表示されます。[キャンセル] を押して div を閉じ、[追加] を再度クリックすると、サイズが縮小したボタンが div に表示されます。
jsfiddle を確認してください: http://jsfiddle.net/uc3Ef/
これは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/
クリックすると値がクリアされますcancel
$(this).val("");
値 (ボタンが表示するテキスト) を消去しているため、それらは「縮小」しています。
この行をキャンセル ボタン クリック イベントから削除して、もう一度お試しください :)
$(this).val("");
入力の値をに設定し""
、入力セレクターがボタンを選択します。input[type="text"]
代わりに使用できます。また、メソッドを使用する必要はありませんeach
。次を使用できます。
$('.hiddenDiv').find('input[type="text"]').val("");
jQueryshow()
メソッドは に等しく、要素を明らかにするためcss('display', 'block')
に使用するだけで十分です。show()
$('.hiddenDiv').show();