协慌网

登录 贡献 社区

我怎么知道通过 jQuery 选择了哪个单选按钮?

我有两个单选按钮,想要发布所选按钮的值。如何通过 jQuery 获取值?

我可以像这样得到所有这些:

$("form :radio")

我怎么知道哪一个被选中?

答案

要获取具有 id myForm的表单的所选 radioName项的值,请执行radioName

$('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();