首页  >  问答  >  正文

javascript - 重置当已选择的 checkbox 小勾

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

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

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

PHP中文网PHP中文网2748 天前1078

全部回复(3)我来回复

  • 大家讲道理

    大家讲道理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方法就可以了.

    回复
    0
  • 怪我咯

    怪我咯2017-04-10 12:44:57

    用户点击时,添加一个 className 作标识

    ('input:checkbox').click(function(){$(this).addClass('userClick')})

    需要重置的时候,使用

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

    回复
    0
  • 怪我咯

    怪我咯2017-04-10 12:44:57

    建议的解决方式就是在元素上写一个属性保存默认的选中状态。比如:

    对应 <input type='checkbox' id='userName' data-checked='true' checked/>这样的默认状态。

    重置的话,遍历一遍即可,如果data-checked为true,则默认选中,否则默认不选中

    回复
    0
  • 取消回复