我有两个单选按钮,想要发布所选按钮的值。 如何通过jQuery获取值?
我可以像这样得到所有这些:
$("form :radio")
我怎么知道哪一个被选中?
我有两个单选按钮,想要发布所选按钮的值。 如何通过jQuery获取值?
我可以像这样得到所有这些:
$("form :radio")
我怎么知道哪一个被选中?
获得的价值 选 radioName
带有id的表单项 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>
获得的价值 选 radioName
带有id的表单项 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()
请注意输入周围的“使用:检查而不是像Peter J的解决方案”
您可以使用:checked选择器和无线电选择器。
$("form:radio:checked").val();
如果你只想要布尔值,即是否检查它,请尝试:
$("#Myradio").is(":checked")
获取所有无线电:
var radios = jQuery("input[type='radio']");
过滤以获得已检查的那个
radios.filter(":checked")
另一种选择是:
$('input[name=radioName]:radio: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();
在输入上有一个类名允许我轻松设置输入样式...
在我的情况下,我有一个表单中的两个单选按钮,我想知道每个按钮的状态。 以下这个对我有用:
// get radio buttons value
console.log( "radio1: " + $('input[id=radio1]:checked', '#toggle-form').val() );
console.log( "radio2: " + $('input[id=radio2]:checked', '#toggle-form').val() );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="toggle-form">
<div id="radio">
<input type="radio" id="radio1" name="radio" checked="checked" /><label for="radio1">Plot single</label>
<input type="radio" id="radio2" name="radio"/><label for="radio2">Plot all</label>
</div>
</form>