说我有以下样本:
<input name="Opt1" id="Opt1" type="checkbox" value="1" alt="1948" title="RQlevel1" src="2" checked="checked" onclick="levels();"/> <label style="cursor:pointer" for="OptID12851948">PADI Advanced Open Water</label>
<input name="Opt2" id="Opt2" type="checkbox" value="2" alt="1953" title="RQlevel2" src="" onclick="levels();"/> <label style="cursor:pointer" for="OptID19521953">PADI Rescue</label>
<input name="Opt3" id="Opt3" type="checkbox" value="3" alt="1957" title="RQlevel2" src="" onclick="levels();"/> <label style="cursor:pointer" for="OptID19521953">PADI Rescue2</label>
如果我点击PADI Advanced Open Water复选框,然后调用levels()JavaScript函数,我怎样才能以编程方式取消选中使用jQuery复选的复选框?
我尝试了以下但不起作用:
if ($("input[value='1']:checked").attr("checked")){
$("input[value='1']:checked").attr(“checked”, false);
}
答案 0 :(得分:11)
使用removeAttr
:
$("input[value='1']:checked").removeAttr('checked');
或者使用最新版本的jQuery,您可以使用prop
:
$("input[value='1']:checked").prop('checked', false);
答案 1 :(得分:2)
如果您使用jQuery 1.6及更高版本,那么您应该使用.prop()来实现此目标
此外,您的选择器已确定已选中输入。没有必要通过检查属性或属性来复制它。
if ($("input[value='1']:checked").length) {
$("input[value='1']:checked").prop("checked", false);
}
但是,如果您使用的jQuery版本低于1.6,则可以使用removeAttr()。
if ($("input[value='1']:checked").length) {
$("input[value='1']:checked").removeAttr("checked");
}