选择数据表的切换功能

时间:2019-07-08 15:57:15

标签: jquery datatables

页面上有多个数据表。每个数据表都有一个切换复选框,可以选择所有行。

启动每个数据表后,我将每个dt发送到以下函数:

function clickable(DataTable) {
    if (typeof DataTable == 'undefined'){return};
    DataTable.on("click", "th.select-checkbox", function() {
        var tableID = DataTable.table().node().id;
        var toggler = $("#" + tableID + " th.select-checkbox");
        select(toggler);
    }).on("select deselect", function() {
        var tableID = DataTable.table().node().id;
        var toggler = $("#" + tableID + " th.select-checkbox");
        deselect(toggler);
    });
    function select(toggler){
        if (toggler.hasClass("selected")) {
            DataTable.rows().deselect();
            toggler.removeClass("selected");
        } else {
            DataTable.rows({ search: 'applied', page: 'current' }).select();
            toggler.addClass("selected");
        }
    }
    function deselect(toggler){
        if (DataTable.rows({
                selected: true
            }).count() !== DataTable.rows().count()) {
            toggler.removeClass("selected");
        } else {
            toggler.addClass("selected");
        }
    }
}

除了代码可能更漂亮之外,我还有一个问题是正在重写var切换器。这意味着我只能选择和取消选择一个数据表。但是,如果我在一个dt上切换选择,然后在另一个dt上单击切换器,则它将中断并停止工作。

我知道我需要以某种方式取消绑定或更改策略,只是不确定具体如何,并且会欣赏一些建议。

0 个答案:

没有答案