0

我正在使用以下 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

4 回答 4

1

只是让您知道您的元素 ID 不能以数字开头。请参阅HTML 文档中的元素 ID ~ 命名问题。希望这对你有帮助:)

解决方案:

<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/

于 2013-09-17T23:56:08.080 回答
0

你试过改变元素的id吗?我不认为 ID 可以仅由数字组成,或者至少它们不能以数字开头

于 2013-09-17T23:50:27.160 回答
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');
}
});
于 2013-09-17T22:24:40.720 回答
0

复选框状态最好使用 jQuery 函数跨浏览器处理prop,无论复选框是否具有关联的<label>.

$('#element').prop("checked", true); // Checks a checkbox.
$('#element').prop("checked", false); // Unchecks a checkbox.
于 2013-09-17T21:57:18.427 回答