我有两个单选按钮,想发布所选按钮的值。如何使用 jQuery 获取值?
我可以像这样得到所有这些:
$("form :radio")
我怎么知道选择了哪一个?
我有两个单选按钮,想发布所选按钮的值。如何使用 jQuery 获取值?
我可以像这样得到所有这些:
$("form :radio")
我怎么知道选择了哪一个?
要获取带有 id 的表单的所选 radioName
项目的值myForm
:
$('input[name=radioName]:checked', '#myForm').val()
下面是一个例子:
$('#myForm input').on('change', function() {
alert($('input[name=radioName]:checked', '#myForm').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
<input type="radio" name="radioName" value="1" /> 1 <br />
<input type="radio" name="radioName" value="2" /> 2 <br />
<input type="radio" name="radioName" value="3" /> 3 <br />
</form>
用这个..
$("#myform input[type='radio']:checked").val();
如果您已经有对单选按钮组的引用,例如:
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();
这应该有效:
$("input[name='radioName']:checked").val()
注意 input:checked 周围使用的 "" 而不是 '' 像 Peter J 的解决方案
您可以将 :checked 选择器与单选选择器一起使用。
$("form:radio:checked").val();