如何以编程方式取消选中的复选框

How can I uncheck a checked checkbox programmatically?

本文关键字:复选框 取消 方式 编程      更新时间:2023-09-26

假设我有以下示例:

<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高级开放水域复选框,这将调用的水平()JavaScript函数,我怎么能以编程方式取消选中这个复选框使用jQuery?

我已经尝试了以下操作,但不工作:

if ($("input[value='1']:checked").attr("checked")){
    $("input[value='1']:checked").attr(“checked”, false);
}   

使用removeAttr:

$("input[value='1']:checked").removeAttr('checked');

或者使用最新版本的jQuery,您可以使用prop:

$("input[value='1']:checked").prop('checked', false);

如果你使用的是jQuery 1.6及以上版本你应该使用。prop()

此外,您的选择器已经确定输入已被检查。不需要通过检查属性或属性来重复这个操作。

if ($("input[value='1']:checked").length) { 
    $("input[value='1']:checked").prop("checked", false); 
}    

但是如果你使用的是低于1.6的jQuery版本,可以使用removeAttr()。

if ($("input[value='1']:checked").length) { 
    $("input[value='1']:checked").removeAttr("checked"); 
}