使用 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 从广播组获取值的主要内容,如果未能解决你的问题,请参考以下文章