Maison > Questions et réponses > le corps du texte
页面有很多个 checkbox,希望点重置后,能够将小勾的选择恢复默认(默认情况下,有些勾是已选了的)
我尝试了用
$('input:checkbox').removeAttr('checked');
结果那些默认已经选择了的内容也被清空了,有别的方法么?
大家讲道理2017-04-10 12:44:57
可以在页面载入的时候先获取已经选中的checkbox.
$(function(){ var $defaults = $('input:checkbox[checked]'); function reset_checkeds(){ $('input:checkbox').attr('checked', false); $defaults.attr('checked', true); } });
然后重置的时候调用reset_checkeds函数就可以了:
<button type="button" onclick="reset_checkeds()">重置</button>
需要补充的是如果你的这些checkbox属于一个form表单,直接条用表单的reset方法就可以了.
怪我咯2017-04-10 12:44:57
用户点击时,添加一个 className 作标识
('input:checkbox').click(function(){$(this).addClass('userClick')})
需要重置的时候,使用
$('input.userClick:checkbox').removeAttr('checked');
怪我咯2017-04-10 12:44:57
建议的解决方式就是在元素上写一个属性保存默认的选中状态。比如:
对应 <input type='checkbox' id='userName' data-checked='true' checked/>这样的默认状态。
重置的话,遍历一遍即可,如果data-checked为true,则默认选中,否则默认不选中