如何使用 jQuery 检查单选按钮?

IT技术 javascript jquery radio-button
2021-01-18 04:59:21

我尝试使用 jQuery 检查单选按钮。这是我的代码:

<form>
    <div id='type'>
        <input type='radio' id='radio_1' name='type' value='1' />
        <input type='radio' id='radio_2' name='type' value='2' />
        <input type='radio' id='radio_3' name='type' value='3' /> 
    </div>
</form>

和 JavaScript:

jQuery("#radio_1").attr('checked', true);

不起作用:

jQuery("input[value='1']").attr('checked', true);

不起作用:

jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);

不起作用:

你有别的想法吗?我错过了什么?

6个回答

对于等于或高于 (>=) 1.6 的 jQuery 版本,请使用:

$("#radio_1").prop("checked", true);

对于 (<) 1.6 之前的版本,请使用:

$("#radio_1").attr('checked', 'checked');

提示:您可能还想在之后调用click()change()单选按钮。有关更多信息,请参阅评论。

在 jQuery 1.9 或更高版本中,此解决方案不起作用。使用 $("#radio_1").prop("checked", true); 反而。
2021-03-20 04:59:21
如果您希望单选组中的其他单选按钮正确更新,请使用 $("#radio_1").prop("checked", true).trigger("click");
2021-03-21 04:59:21
添加.change()到末尾以触发页面上的任何其他事件很有帮助
2021-03-28 04:59:21

试试这个。

在这个例子中,我用它的输入名称和值来定位它

$("input[name=background][value='some value']").prop("checked",true);

很高兴知道:在多字值的情况下,它也会因为撇号而起作用。

在 jQuery 1.6 中添加的另一个函数 prop() 用于相同的目的。

$("#radio_1").prop("checked", true); 
attr('checked', true)停止工作对我来说与jQuery 1.9,这是解决方案!
2021-04-09 04:59:21

简短易读的选项:

$("#radio_1").is(":checked")

它返回 true 或 false,因此您可以在“if”语句中使用它。

谢谢!这就是我一直在寻找的,但是(仅供参考)OP 询问如何设置单选按钮,而不是获取值。(“检查”一词使问题变得混乱。)
2021-03-23 04:59:21

试试这个。

要使用检查单选按钮,请使用它。

$('input[name=type][value=2]').attr('checked', true); 

或者

$('input[name=type][value=2]').attr('checked', 'checked');

或者

$('input[name=type][value=2]').prop('checked', 'checked');

要使用ID检查单选按钮,请使用它。

$('#radio_1').attr('checked','checked');

或者

$('#radio_1').prop('checked','checked');