我有两个单选按钮,希望发布所选按钮的值。如何使用jQuery获取值?
我可以得到所有这些:
$("form :radio")
我如何知道选择了哪一个?
我有两个单选按钮,希望发布所选按钮的值。如何使用jQuery获取值?
我可以得到所有这些:
$("form :radio")
我如何知道选择了哪一个?
当前回答
您需要使用:checked选择器访问:
检查此文档:
https://api.jquery.com/checked-selector/
例如:
$('input[name=radioName]:checked','#myForm').val()$('#myForm input').on('change',function(){$('#val').text($('input[name=radioName]:checked','#myForm').val());});#值{颜色:#EB0054;字体大小:1.5em;}<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><h3>无线电值:<span id=“val”><span></h3><form id=“myForm”><input type=“radio”name=“radioName”value=“a”>a<br><input-type=“radio”name=“radioName”value=“b”>b<br><input-type=“radio”name=“radioName”value=“c”>c<br></form>
其他回答
试试看-
var radioVal = $("#myform").find("input[type='radio']:checked").val();
console.log(radioVal);
您可以调用函数onChange()
<input type="radio" name="radioName" value="1" onchange="radio_changed($(this).val())" /> 1 <br />
<input type="radio" name="radioName" value="2" onchange="radio_changed($(this).val())" /> 2 <br />
<input type="radio" name="radioName" value="3" onchange="radio_changed($(this).val())" /> 3 <br />
<script>
function radio_changed(val){
alert(val);
}
</script>
这个怎么样?
使用更改并获取无线电类型的值。。。
$('#my radio form').on('change',function(){console.log($('[type=“radio”]:checked').val());});<script src=“https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js“></script><form id=“my radio form”><input type=“radio”name=“input radio”value=“a”/>a<input type=“radio”name=“input radio”value=“b”/>b<input type=“radio”name=“input radio”value=“c”/>c<input type=“radio”name=“input radio”value=“d”/>d</form>
此解决方案不需要jQuery。
const RADIO_NAME = "radioName";
const radios = Array.from(document.getElementsByName(RADIO_NAME));
const checkedRadio = radios.filter(e=>e.checked);
这使用jQuery:
const radios = Array.from($(`[name=${RADIO_NAME}`));
const checkedRadio = radios.filter(e=>e.checked);
jQuery添加了这里不需要的额外抽象层。
您还可以使用:
const radios = Array.from(document.querySelectorAll(`[name=${RADIO_NAME}`));
const checkedRadio = radios.filter(e=>e.checked)[0];
但getElementsByName足够简单明了。
下面是我如何填写表格并处理已检查的收音机的获取。
使用名为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();
在输入上有类名可以让我轻松地设置输入的样式。。。