如果没有单击复选框,如何禁用按钮

时间:2016-10-10 14:54:12

标签: javascript jquery datatable

我的数据表中有复选框列,如果没有点击复选框,我想隐藏一个按钮。[包括分页]。 下面是我用来获取单击按钮时的值的代码,请咨询

$('#button').click(function () {
    var id = "";
    var oTable = $("#userTable").dataTable();
    $(".groupCheckBox:checked", oTable.fnGetNodes()).each(function () {
        if (id != "") {
            id = id + "," + $(this).val();
        } else {
            id = $(this).val();
        }

    });
});

2 个答案:

答案 0 :(得分:3)

您可以为所有复选框添加事件侦听器。每当某些内容发生变化时,您都会检查所有内容是否未经检查=>禁用按钮,否则=>启用按钮。

$(".groupCheckBox").on('change', function(){
    if($(".groupCheckBox:checked", oTable.fnGetNodes()).length == 0){
        $('#merge_button').prop('disabled', true);
    }else{
        $('#merge_button').prop('disabled', false);
    }
});

答案 1 :(得分:0)

默认情况下已禁用

$('#merge_button'),并且所有change元素都有$('.groupCheckBox')个事件侦听器。在事件处理程序中,检查是否选中了任何复选框以更新按钮属性:

$('.groupCheckBox').on('change', function() {
  $('#merge_button').prop('disabled', $('input.groupCheckBox:checkbox:checked').length === 0);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" class="groupCheckBox">
<input type="checkbox" class="groupCheckBox">
<input type="checkbox" class="groupCheckBox">
<input type="checkbox" class="groupCheckBox">
<input type="checkbox" class="groupCheckBox">
<input type="checkbox" class="groupCheckBox">
<input type="checkbox" class="groupCheckBox">
<input type="checkbox" class="groupCheckBox">

<hr>

<button id="merge_button" disabled>Merge</button>