首页 > 解决方案 > 如果数组为空则禁用按钮并在添加项目时启用?

问题描述

我有一个数组,其中包含一些复选框 id 编号,当用户单击表中的某些复选框时添加这些编号。如果数组为空,我想禁用一个按钮,并在它有一些项目时启用它。

    var ids = [];

         $('#Table tbody').on('click', '.checkbox', function () {

             var idx = $.inArray($(this).attr("id"), ids);
             if (idx == -1) {
                 ids.push($(this).attr("id"));
             } else {
                 ids.splice(idx, 1);
             }
        });

监视数组并检查元素是否已添加到 id 数组或恢复为 0 以启用/禁用按钮的最佳方法是什么?

<input class="btn disabled" type="submit" name="submit" id="btnsubmit" value="Submitselected"/>

标签: javascriptjquery

解决方案


单击复选框时,您已经运行了该功能(尽管该change事件可能更适合您)-disabled现在只需修改按钮上的道具:

$("#btnsubmit").prop("disabled", ids.length === 0);

推荐阅读