table.rows(...)。select不是函数吗?

时间:2018-12-13 06:49:41

标签: javascript jquery datatable sails.js

当我单击数据表中的复选框时,会给我错误“行。select不是函数” ,因此我的所有复选框都没有选中,只是第一页上的复选框被选中了。所有数据都来自AJAX,我有10页。 如果要转到第4页,然后选择“全选”,则仅选中该页面的复选框

这是我的ejs代码:

<table id="participantstable" class="display">

                    <thead>
                        <tr>
                            <th style = "width:9px" class = "select-checkbox">
                      <label class="containerCheck">
 <input class="select-checkbox" type="checkbox" id="chkAllParticipants"  
                                     name="selected_user" onclick="selectAll()" />
                         <span class="checkmark"></span>
                                </label>
                            </th>
            </tr>
                  </thead>

 <tbody>
                            <tr>
             <td class = "select-checkbox">
             <label class="containerCheck">
           <input type="checkbox" class="chk-participants select-checkbox" id ="<%=ii%>"     
                name="selected_user" onclick="EnableDropdown()" />
                   <span class="checkmark select-checkbox"></span>
                                    </label>
                                </td>
                                <td>

以下是用于表初始化的代码:

     var participantstable = $("#participantstable").DataTable({
    columnDefs: [{
        orderable: false,
        className: 'select-checkbox',
        targets: 0
    }],
    select: {
        style: 'os',
        selector: 'td:first-child'
    },
    order: [
        [1, 'asc']
    ],
    columns: [
        null,
        null,
        { "visible": false },
        null,
        null,
        null,
        null,
        //null,
    ],
    stateSave: true,
    select: true
});

这是js功能的代码:

   participantstable.on("click", "th.select-checkbox", function () {
    if ($("th.select-checkbox").hasClass("selected")) {
        participantstable.rows(this).deselect();
        $("th.select-checkbox").removeClass("selected");
    } else {
       // $('#participants-table').DataTable().row('.selected');
       participantstable.rows(this).select();
        $("th.select-checkbox").addClass("selected");
    }
}).on("select deselect", function () {
    ("Some selection or deselection going on")
    if (participantstable.rows({
        selected: true
    }).count() !== participantstable.rows().count()) {
        $("th.select-checkbox").removeClass("selected");
    } else {
        $("th.select-checkbox").addClass("selected");
    }
});

});

0 个答案:

没有答案