我有两个单选按钮,希望发布所选按钮的值。如何使用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();

在输入上有类名可以让我轻松地设置输入的样式。。。