如下结果那些默认已经选择了的内容也被清空了,还有别的方法么?

页面有很多个 checkbox,希望点重置后,能够将小勾的选择恢复默认(默认情况下,有些勾是已选了的)
我尝试了用

$('input:checkbox').removeAttr('checked');


智慧大石
浏览 83回答 3
3回答

慕斯王

可以在页面载入的时候先获取已经选中的checkbox.$(function(){&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;$defaults&nbsp;=&nbsp;$('input:checkbox[checked]');&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;reset_checkeds(){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$('input:checkbox').attr('checked',&nbsp;false);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$defaults.attr('checked',&nbsp;true); &nbsp;&nbsp;&nbsp;&nbsp;} });然后重置的时候调用reset_checkeds函数就可以了:<button&nbsp;type="button"&nbsp;onclick="reset_checkeds()">重置</button>需要补充的是如果你的这些checkbox属于一个form表单,直接条用表单的reset方法就可以了.

呼如林

用户点击时,添加一个 className 作标识('input:checkbox').click(function(){$(this).addClass('userClick')})需要重置的时候,使用$('input.userClick:checkbox').removeAttr('checked');

米琪卡哇伊

建议的解决方式就是在元素上写一个属性保存默认的选中状态。比如:对应 <input type='checkbox' id='userName' data-checked='true' checked/>这样的默认状态。重置的话,遍历一遍即可,如果data-checked为true,则默认选中,否则默认不选中
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript