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

How can I make my select all check box ignore disabled items?

本文关键字:项目 何使 我的 全选 复选框      更新时间:2023-09-26

我使用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>

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

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