取消选中带标签的html复选框

时间:2013-09-17 21:54:56

标签: javascript jquery html checkbox

我使用以下html显示带有图片的复选框:

<div class="testClass">
<input id="111" name="compare_checkbox" type="checkbox" />                      
<label for="111">
    <i class="icon" aria-hidden="true"></i> <b>Compare</b>
</label>
</div>

我需要在某些条件下取消选中该复选框。我使用以下jquery:$('#111')[0] .checked = false;

如果我没有标签,这可以正常工作。当我有标签时,我在控制台(Chrome或Firefox)中没有出现任何错误,但是复选框没有取消选中。

4 个答案:

答案 0 :(得分:1)

告诉您,您不能拥有引导您的元素ID的数字。请参阅Element ID in HTML Document ~ Naming Question。希望这对你有所帮助:))

解决方案:

<div class="testClass">
<input id="one" name="compare_checkbox" type="checkbox" />                      
<label for="one">
    <i class="icon" aria-hidden="true"></i> <b>Compare</b>
</label>
</div>

http://jsfiddle.net/tLsK7/

答案 1 :(得分:0)

无论复选框是否具有关联的prop

复选框状态最好使用jQuery的<label>函数进行跨浏览处理。

$('#element').prop("checked", true); // Checks a checkbox.
$('#element').prop("checked", false); // Unchecks a checkbox.

答案 2 :(得分:0)

for ='111'正常工作

这是http://jsfiddle.net/spaipalle/umAsw/3/

$('#111').click(function(){
if($('#111').is(":checked")){
        alert('checked');
        $('#111')[0].checked = false; // uncheck it
}else{
        alert('unchecked');
}
});

答案 3 :(得分:0)

您是否尝试过更改元素的ID?我不认为ID可以仅由数字组成,或者至少它们不能以数字开头