我想使用Jquery重置复选框。我已经阅读了关于这个主题的Q/A,并提出了这个问题:
<script>
$(document).ready(function(){
$("#clearall").click(function(){
alert('clearing checkboxes');
$('input:checkbox').attr('checked',false);
});
});
</script>
<input id="cb1" type="checkbox" checked>
<input id="cb2" type="checkbox" checked >
<button id="clearall">Click me</button>加载时,两个复选框将显示为选中状态。单击该按钮可清除它们。这和预期的一样。令人意想不到的是,如果我选中这些框并单击按钮,则复选框不会清除。不会出现javascript错误或警告。我检查了Firefox、Safari和Chrome的功能--它们的操作方式都是一样的。我插入了一个警报,它会在每次尝试时触发,所以函数正在执行-但复选框在第一次尝试后不会被重置。如果复选框是由用户设置的,那么为什么复选框不会被清除,是否有人可以提供一些见解?
发布于 2017-03-21 21:26:42
提示:在处理布尔属性(如disabled、checked、selected等)时,不要使用.attr()**,** .removeProp()**,或** .removeAttr()**.**,为什么要使用.prop()和?这是因为this和this。
.attr()和value..removeProp()::属性是动态的,而属性不是--它们反映初始的.removeAttr()注意:请勿使用removeProp()删除本机属性,如选中、禁用或选定。这将完全删除该属性,并且一旦删除,将无法再次添加到元素中。
$(document).ready(function(){
$("#clearall").click(function(){
$('input:checkbox').prop('checked',false);
});
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="cb1" type="checkbox" checked>
<input id="cb2" type="checkbox" checked >
<button id="clearall">Click me</button>
发布于 2017-03-21 21:28:09
尝试使用.removeAttr('checked')
https://stackoverflow.com/questions/42928477
复制相似问题