当有多个具有相同名称的单选按钮时,如何检查选择了哪个单选按钮? (使用jquery)

时间:2017-08-21 04:06:17

标签: javascript jquery html

<form class="responses">
    <input type="radio" name="choice" value="0">False</input>
    <input type="radio" name="choice" value="1">True</input>
</form>

尝试过:

$('[name="choice"]').is(':checked'))

如果选中其中之一,则返回true,如果两者都未选中则返回false,但我需要查看哪一个被检查。

我正在动态创建选择,而不是给每个人提供ID。

5 个答案:

答案 0 :(得分:1)

使用以下代码,您将获得已检查的无线电元素的DOM

$("[name=choice]:checked")

答案 1 :(得分:1)

以下代码将给出选中的单选按钮的值。如果未选中nothig,则将给出undefined。将此代码段放在函数中,并在选中单选按钮

时调用该函数
$("input[name='choice']:checked").val()

答案 2 :(得分:1)

如果您想知道所选值,请使用

$("input:radio[name='choice']:checked").val();

如果您想知道选择了哪个单选按钮,请使用

var radioButton = $("input:radio[name='choice']");
var selectedIndex = radioButton.index(radioButton.filter(':checked'));

答案 3 :(得分:0)

其他答案是完美的,这可能是另一种方法

HTML:

<form class="responses">
 <input type="radio" name="choice" class="my_radio" value="0">False</input>
 <input type="radio" name="choice" class="my_radio" value="1">True</input>
</form>

JQUERY:

 $('.my_radio').click(function(){
  alert($(this).val());
 });

答案 4 :(得分:0)

试试这个:

$('input[name=choice]:checked', '#myForm').val()

脚本:

$( "#myForm input" ).on( "change", function() {
  $( "#log" ).html( $( "input[name=choice]:checked" ).val() + " is checked!" );
});

HTML:

<form id="myForm">
    <input type="radio" name="choice" value="0">False</input>
    <input type="radio" name="choice" value="1">True</input>
</form>
<div id="log"></div>

&#13;
&#13;
$( "#myForm input" ).on( "change", function() {
  $( "#log" ).html( $( "input[name=choice]:checked" ).val() + " is checked!" );
});
&#13;
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        
        <form id="myForm">
        <input type="radio" name="choice" value="0">False</input>
        <input type="radio" name="choice" value="1">True</input>
        </form>
        <div id="log"></div>
&#13;
&#13;
&#13;