我有两个单选按钮,希望发布所选按钮的值。如何使用jQuery获取值?
我可以得到所有这些:
$("form :radio")
我如何知道选择了哪一个?
我有两个单选按钮,希望发布所选按钮的值。如何使用jQuery获取值?
我可以得到所有这些:
$("form :radio")
我如何知道选择了哪一个?
当前回答
如果您已经引用了单选按钮组,例如:
var myRadio = $("input[name=myRadio]");
使用filter()函数,而不是find()。(find()用于查找子元素/子元素,而filter()用于搜索所选内容中的顶级元素。)
var checkedValue = myRadio.filter(":checked").val();
注意:这个答案最初是在纠正另一个建议使用find()的答案,但后来似乎有所改变。find()对于已经引用了容器元素但没有引用单选按钮的情况仍然有用,例如:
var form = $("#mainForm");
...
var checkedValue = form.find("input[name=myRadio]:checked").val();
其他回答
如果您只想要布尔值,即是否选中,请尝试以下操作:
$("#Myradio").is(":checked")
JQuery获取表单中的所有单选按钮和选中的值。
$.each($("input[type='radio']").filter(":checked"), function () {
console.log("Name:" + this.name);
console.log("Value:" + $(this).val());
});
试试这个。这对我有用
$('input[type="radio"][name="name"]:checked').val();
这应该是有效的:
$("input[name='radioName']:checked").val()
注意输入周围使用的“”:已检查,而不是像Peter J的解决方案那样的“”
如果在单个表单中有多个单选按钮,则
var myRadio1 = $('input[name=radioButtonName1]');
var value1 = myRadio1.filter(':checked').val();
var myRadio2 = $('input[name=radioButtonName2]');
var value2 = myRadio2.filter(':checked').val();
这对我有用。