0

私のHTMLコードは次のようになります:

   <div id="single"><br><br>
     1) effew<br>
     <input name="answer0" id="answer0" value="1" type="radio"> ewf
     <input name="answer0" id="answer0" value="2" type="radio"> avb
     </div>
     <div id="single"><br><br>
     2) fe<br>
     <input name="answer1" id="answer1" value="1" type="radio"> few
     <input name="answer1" id="answer1" value="2" type="radio"> eww
     <input name="answer1" id="answer1" value="3" type="radio"> tfs
     </div>

上記の div タグを id を single として反復処理し、id を single として各 div タグ内で選択されたラジオ ボタンの値を取得します。書かれたjQueryコードは次のとおりです。

$("input[name=single]").each( function() {
    var val = $('input[name=answer]:checked').val();
    alert(val);
});

上記の jQuery コードは機能していないようです。お願いします。どうすれば修正できますか?

4

4 に答える 4

5

HTML ( ID の繰り返しは許可されていないため、変更Idした ことに注意してくださいclass

 <div class="single"><br><br>
      1) effew<br>
     <input name="answer0" id="answer0" value="1" type="radio"> ewf
     <input name="answer0" id="answer0" value="2" type="radio"> avb
 </div>
 <div class="single"><br><br>
     2) fe<br>
     <input name="answer1" id="answer1" value="1" type="radio"> few
     <input name="answer1" id="answer1" value="2" type="radio"> eww
     <input name="answer1" id="answer1" value="3" type="radio"> tfs
 </div>

JS

$("div.single input[type=radio]:checked").each( function() {
    alert(this.value);
});

jsFiddle デモ

于 2012-06-19T16:34:23.827 に答える
2

これを試してください-http://jsfiddle.net/NfLwy/

$("div.single input:checked").each( function() {
    alert( $(this).val() );
});

そして、idはユニークでなければなりません。多分次のように置き換えますclass

于 2012-06-19T16:32:04.593 に答える
0

より簡単な解決策は

$('.single').on('click',function(e) {
            alert($($(this).find("input[type=radio]:checked")).attr('id'));
        });
于 2016-03-15T11:20:15.740 に答える
0

同じ html に同じ ID が存在することはできません。その場合はクラスを使用する必要があります。
これがデモです。それを試してみてください:

HTML

<div class="single"><br><br>
     1) effew<br>
     <input name="answer0" id="answer0" value="1" type="radio" checked> ewf
     <input name="answer0" id="answer0" value="2" type="radio"> avb
</div>
<div class="single"><br><br>
     2) fe<br>
     <input name="answer1" id="answer1" value="1" type="radio"> few
     <input name="answer1" id="answer1" value="2" type="radio"> eww
     <input name="answer1" id="answer1" value="3" type="radio" checked> tfs
</div>​

JS:

 $("div.single input[type=radio]:checked").each( function() {
        var val = $(this).val();
        alert(val);
    });​
于 2012-06-19T16:43:18.757 に答える