javascript - jQuery如何检查个单选按钮?

  显示原文与译文双语对照的内容

我试图用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>

和 JavasScript:


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

不起作用:


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

不起作用:


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

不起作用:

你还有别的想法? 我犯了什么错?

时间:


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

将它从"真"改为"checked 。"

对于 1.9 或者更高版本的使用: ( 可能自 1.6年)


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

试试这个

在这个例子中,我将它的输入名称和值作为目标


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

很好知道:如果multi-word值,它也会因为撇号而工作。

试试这个

检查单选按钮使用价值使用这个。


$('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');

$.prop 方法更好:


$(document).ready(function () { 
 $("#radio_1").prop('checked', true); 
});

你可以像下面这样测试它:


$(document).ready(function () { 
 $("#radio_1, #radio_2","#radio_3").change(function () {
 if ($("#radio_1").is(":checked")) {
 $('#div1').show();
 }
 else if ($("#radio_2").is(":checked")) {
 $('#div2').show();
 }
 else 
 $('#div3').show();
 }); 
});

如果属性 name 不起作用,别忘了 id 仍然存在。 这个答案是针对那些希望在这里目标 id的人。


$('input[id=element_id][value=element_value]').prop("checked",true);

因为属性 name 不适用于我。 请确保不将 idname 用双引号括起来。

cheers!

有些上的解决方案无法运行,然后你可以尝试以下操作:


jQuery.uniform.update(jQuery("#yourElementID").attr('checked',true));
jQuery.uniform.update(jQuery("#yourElementID").attr('checked',false));

你可以尝试的另一种方式是:


jQuery("input:radio[name=yourElementName]:nth(0)").attr('checked',true);


$("input[name=inputname]:radio").click(function() {
 if($(this).attr("value")=="yes") {
 $(".inputclassname").show();
 }
 if($(this).attr("value")=="no") {
 $(".inputclassname").hide();
 }
});

...