我有两个单选按钮,想要发布所选一个的值。如何使用 jQuery 获得价值?
我可以像这样得到所有这些:
$("form :radio")
我怎么知道选择了哪一个?
要获取 ID 为myForm
的表单的选定 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();
这应该工作:
$("input[name='radioName']:checked").val()
请注意在 input:checked 周围使用的 “”,而不是像 Peter J 的解决方案那样使用”
您可以将:checked 选择器与单选按钮一起使用。
$("form:radio:checked").val();
如果只需要布尔值,即是否选中,请尝试以下操作:
$("#Myradio").is(":checked")
获取所有收音机:
var radios = jQuery("input[type='radio']");
筛选以获取多数民众赞成在检查
radios.filter(":checked")
另一个选择是:
$('input[name=radioName]:checked').val()
$("input:radio:checked").val();
这是我编写表单并处理获取已检查单选的方式。
使用名为 myForm 的表单:
<form id='myForm'>
<input type='radio' name='radio1' class='radio1' value='val1' />
<input type='radio' name='radio1' class='radio1' value='val2' />
...
</form>
从表单获取值:
$('#myForm .radio1:checked').val();
如果您不发布此表单,我将使用以下方法进一步简化它:
<input type='radio' class='radio1' value='val1' />
<input type='radio' class='radio1' value='val2' />
然后获取检查值变为:
$('.radio1:checked').val();
输入上有一个类名,使我可以轻松设置输入的样式...