入力に何かを入力してボタンをクリックした後、「.val()」は空の値を返します。
HTML コード:
<div class="mainClass">
<div class="class1" >
<div class="class2">
<h3>Settings 1</h3>
<label>
<span>Text 1:</span>
<input type="text" name="text">
</label>
<label>
<span>Text 2:</span>
<input type="text" name="text2">
</label>
</div>
</div>
<div class="class3" >
<div class="class4">
<h3>Settings 2</h3>
<label>
<span>Text 1:</span>
<input type="text" name="text">
</label>
<label>
<span>Text 2:</span>
<input type="text" name="text2">
</label>
</div>
</div>
</div>
<button id="Go" class="go" >GO </button>
ジャバスクリプトコード:
$('#Go').on('click', function() {
alert($('.class1 input').val()); //return an empty value
$('.class1 input').val("test");
alert($('.class1 input').val()); //return test
});
編集:
これでも機能しません。ここでは入力が 1 つしかないため、間違ったものを入力することはできません。
<div class="mainClass">
<div class="class1" >
<div class="class2">
<h3>Settings 1</h3>
<label>
<span>Text 1:</span>
<input type="text" name="text">
</label>
</div>
</div>
</div>
<button id="Go" class="go" >GO </button>
編集2:問題の始まりを見つけました...
私がそれをしているとき:
$('.class1 input').each(function () {
alert($(this).attr('name') + " value:" +$(this).val() );
});
次のような 2 つの「アラート」が表示されます。
text value:
text value:myinputText
私のHTMLで1つに対して2つ作成されたので、最初のものは空で、2つ目はうまく機能します! 私のページをよく見ると、すべての要素が重複していることがわかりました( <select,field, input...
)
どのようにそれが可能ですか?HTMLファイルを2回呼び出していますか? そして、私のコードはすべてポップアップにあります(それが役立つかどうかはわかりません)(私はJavascriptとjQueryが初めてです)
ありがとう