使用jQuery从广播组获取价值


76

我正在尝试使用name获得广播组的价值managerelradio。我的这个无线电组的html代码是。

 <label><input type="radio" name="managerelradio" value="Yes" id="Add">Add</label>
 <label><input type="radio" name="managerelradio" value="No" id="Remove">Remove</label>

和jQuery的是..

    var manageradiorel = $('input[name = "managerelradio"]:checked' , '#managechildform').val();
 alert(manageradiorel);

它向我显示不确定。

虽然我也尝试过。

 var manageradiorel = $('input[name = "managerelradio"]:checked').val();
 alert(manageradiorel);

但是我仍然获得了不确定的价值。


您也可以发布HTML吗?。这将有助于我们理解问题
空指针

Answers:


140

试试这个

var manageradiorel = $("input:radio[name ='managerelradio']:checked").val();
alert(manageradiorel);

请检查演示..它将正常工作

注意: 必须选择一个单选按钮。否则将返回未定义

您可以使用checked属性将单选按钮设置为默认值


它也必须放在onchange事件中,我猜
Shameer 2011年

@Shameer,我不这么认为。您可以观看演示
空指针,

它对我有用(即使没有onchange事件),这也应该是公认的答案!
user3532637 '16

+1,有效。对于不超过一个按钮组的情况,可以将名称说明留在选择器中。
Zelphir Kaltstahl

如果jQuery有足够的聪明才能够找出单选按钮组$("#managerelradio").val()的值,那将是很好的选择,但是由于不是那么聪明,因此至少在选择器的构造上有逻辑……
FKEinternet

17

这个对我有用

$('input[name="managerelradio"]').on('change', function(e) {

    var manageradiorel = e.target.value;
    alert(manageradiorel);

});

例如这里


虽然如果我在收音机组上使用更改功能可以正常工作,但是如果我添加其他更改功能(如下拉更改)则无法使用。
拉胡尔·辛格

@Rahul:必须选中您的单选按钮之一才能获得值。在此处查看我的更新链接
Gowri

10

一个小的jQuery扩展使它更容易一些:

jQuery.fn.extend({
    groupVal: function() {
        return $(this).filter(':checked').val();
    }
});

// Usage:
$("input[name='managerelradio']").groupVal();

// Or even:
$("[name='managerelradio']").groupVal();
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.