在我的页面中,我有三个单选按钮,我想在单击<li>
时检查单选按钮。我的点击功能正在运行,但点击时未检查收音机。我怎样才能做到这一点?我的代码在
$(document).ready(function() {
$('#myContainer li').click(function() {
$('#radio1').attr('checked');
});
});
<div id="myContainer">
<li id="li1">
<input id="radio1" name="RadioGroup" value="val1" type="radio">
val1
</li>
<li id="li2">
<input id="radio2" name="RadioGroup" value="val2" type="radio">
val2
</li>
<li id="li3">
<input id="radio3" name="RadioGroup" value="val3" type="radio">
val3
</li>
</div>
答案 0 :(得分:14)
您正在获取已检查的属性,而不是设置它。试试这个:
$('#radio1').attr('checked', 'checked');
注意强>
从jQuery 1.6开始,建议使用.prop()
代替.attr()
。
$("#radio1").prop("checked", true);
答案 1 :(得分:2)
$('#radio1').attr('checked')'
会返回值,以便设置值try
$('#myContainer li').click(function() {
$('#radio1').attr('checked','checked');
});
或者如果您使用的是jquery 1.6+,请使用prop
$('#myContainer li').click(function() {
$('#radio1').prop('checked',true);
});
在您的情况下,无论您点击哪个li
,都会检查ID = #radio1
的广播
在我看来,更合适的行为是
$('#myContainer li').click(function() {
$(":input",this).prop('checked',true);
});