如何使我的全选复选框忽略禁用的项目?

时间:2013-07-30 17:21:47

标签: javascript

我使用Javascript来允许用户检查表单中的所有项目。但是,即使它们被禁用,它也会检查项目。有没有办法让它只在启用的复选框上工作?

    <script>
    $(document).ready(function () {
        $('#selectall').on('click', function () {
            $('.lv').prop('checked', isChecked('selectall'));
        });
    });
    function isChecked(checkboxId) {
        var id = '#' + checkboxId;
        return $(id).is(":checked");
    }
    function resetSelectAll() {
        // if all check box are selected, check the selectall checkbox
        // and vice versa
        if ($(".lv").length == $(".lv:checked").length) {
            $("#selectall").attr("checked", "checked");
        } else {
            $("#selectall").removeAttr("checked");
        }

        if ($(".lv:checked").length > 0) {
            $('#edit').attr("disabled", false);
        } else {
            $('#edit').attr("disabled", true);
        }
    }
    </script>

1 个答案:

答案 0 :(得分:7)

您可以合并:not():disabled选择器:

$(".lv:not(:disabled)").prop("checked", isChecked("selectall"));