使用 jquery 从广播组获取值

Posted

技术标签:

【中文标题】使用 jquery 从广播组获取值【英文标题】:get value from radio group using jquery 【发布时间】:2011-12-05 03:04:43 【问题描述】:

我正在尝试获取名称为 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 吗? .这将有助于我们理解问题 【参考方案1】:

试试这个

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

请检查this DEMO ..它会正常工作

注意:必须选择您的单选按钮之一。否则会返回 undefined

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

【讨论】:

我猜它也必须放在 onchange 事件中 @Shameer,我不这么认为。可以看demo 它对我有用(即使没有 onchange 事件),这应该是公认的答案! +1,有效。对于没有多个按钮组的情况,可以将名称规范留在选择器中。 如果 jQuery 足够聪明,能够找出 $("#managerelradio").val() 来寻找 radiobutton 组 的值,那就太好了,但由于它不是那么聪明,至少这个选择器的构造是有逻辑的……【参考方案2】:

对我有用

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

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

);

例如here

【讨论】:

虽然如果我在无线电组上使用更改功能它会起作用,但如果我放入其他一些更改功能(例如下拉更改)它将不起作用。 @Rahul:您的单选按钮之一必须选中才能获取值。在此处查看我的更新link【参考方案3】:

一个小的 jQuery 扩展让这更容易:

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

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

// Or even:
$("[name='managerelradio']").groupVal();

【讨论】:

以上是关于使用 jquery 从广播组获取值的主要内容,如果未能解决你的问题,请参考以下文章

jquery 获取一组元素的选中项 - 函数jquery获取复选框值jquery获取单选按钮值

从 json 设置广播组

JQuery 获取/设置当前时间“广播电台”

使用 jQuery 从隐藏字段中获取值

使用 Jquery 从 HTML 数组中获取值

使用循环中动态创建的 jquery 从表单中获取选择选项值