0
<input type="radio" name="group2" value="Water"> Water<br>
<input type="radio" name="group2" value="Beer"> Beer<br>
<input type="radio" name="group2" value="Wine" checked> Tee

    <span id="check" >check</span>

そしてjQuery:

function check()
{
    alert($('input[name=group2]').val());
}
$('#check').click(function(){
    check();
});
$('input[name=group2]').change(function(){
    check()
})

ライブ: http://jsfiddle.net/j9cj5/

なぜこれはいつも私に水を表示するのですか? これらのラジオボタンの値を確認するにはどうすればよいですか? この値を変更してチェックをクリックすると、これをチェックしたいと思います。

4

3 に答える 3

5

セレクター$('input[name=group2]')はその名前を持つすべての要素を選択しval()、コレクション内の最初の要素の値のみを返すため、常にWater. チェックしたラジオのみをターゲットにする必要があります。

function check() {
    alert( $('input[name=group2]:checked').val());
}

フィドル

于 2013-06-15T11:36:11.800 に答える
4

:)$('input[name=group2]')に置き換えます$('input[name=group2]:checked')

デモ: http://jsfiddle.net/hungerpain/j9cj5/2/

これが発生する理由は、$('input[name=group2]')がすべてのラジオ ボタンの配列を生成し、最初の要素のみを与えるためです (これは既定で発生します)。したがって、選択した要素を取得するには、:checked疑似セレクターを使用する必要があります。

于 2013-06-15T11:35:26.430 に答える
1

このようにしてみてください

function check(val) {
     alert(val);
}
$('input[name=group2]').change(function(){
    check($(this).val());
});

これは機能しています

于 2013-06-15T11:35:55.807 に答える