问题陈述很简单。我需要看看用户是否从无线电组中选择了一个单选按钮。组中的每个单选按钮共享相同的id。

问题是我无法控制表单是如何生成的。下面是单选按钮控件代码的样例代码:

<input type="radio" name='s_2_1_6_0' value='Mail copy to my bill to address' id = "InvCopyRadio" onchange = 'SWESubmitForm(document.SWEForm2_0,s_4,"","1-DPWJJF")' style="height:20;width:25" tabindex=1997 >

除此之外,当单选按钮被选中时,它不会添加一个“checked”属性到控件中,只是文本检查(我猜只是没有值的属性检查)。下面是选定的无线电控件的外观

<input type="radio" checked name='s_2_1_6_0' value='Mail copy to my bill to address' id = "InvCopyRadio" onchange = 'SWESubmitForm(document.SWEForm2_0,s_4,"","1-DPWJJF")' style="height:20;width:25" tabindex=1997 >

有人能帮助我用jQuery代码,可以帮助我得到选中单选按钮的值吗?


当前回答

甚至输入也不是必要的,正如其他答案所建议的那样。 下面的代码也可以使用:

var variable_name = $("[name='radio_name']:checked").val();

其他回答

要获得选中单选按钮的值,使用RadioButtonName和包含该单选按钮的Form Id。

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

或仅通过

$('form input[type=radio]:checked').val();

我不是javascript的人,但我在这里找到了搜索这个问题。对于谁谷歌它和发现这里,我希望这有助于一些。所以,如果我们有一个单选按钮列表:

<div class="list">
    <input type="radio" name="b1" value="1">
    <input type="radio" name="b2" value="2" checked="checked">
    <input type="radio" name="b3" value="3">
</div>

我可以用这个选择器找到哪个选择了:

$('.list input[type="radio"]:checked:first').val();

即使没有选择任何元素,我仍然不会得到未定义的错误。因此,在获取元素的值之前,不需要编写额外的if语句。

下面是一个非常基本的jsfiddle示例。

$("#radioID") // select the radio by its id
    .change(function(){ // bind a function to the change event
        if( $(this).is(":checked") ){ // check if the radio is checked
            var val = $(this).val(); // retrieve the value
        }
    });

确保将其包装在DOM就绪函数中($(function(){…});美元(文档)时的功能 (){...});).

获取所有无线电:

var radios = $("input[type='radio']");

过滤器来获取被选中的一个

radios.filter(":checked");

OR

另一种找到单选按钮值的方法

var RadeoButtonStatusCheck = $('form input[type=radio]:checked').val();

解释这个简单话题的最好方法是给出简单的例子和参考链接:-

在下面的例子中,我们有两个单选按钮。如果用户选择任何单选按钮,我们将在警报框中显示所选单选按钮值。

Html:

<form id="Demo">
<input type="radio" name="Gender" value="Male" /> Male <br />
<input type="radio" name="Gender" value="Female" /> Female<br />
<input type="radio" name="Gender" value="others" /> others <br />
</form>

jquery: -

 $(document).ready(function(){
        $('#Demo input').on('change', function() {
            alert($('input[name="Gender"]:checked', '#Demo').val());
        });
    });