在datatable分页中检查复选框的jQuery计数

时间:2017-04-21 11:44:23

标签: javascript jquery checkbox

我想在所有页面中检查已选中的复选框(我有数据表分页)。目前,我只有当前页面中已选中复选框的计数。当我转到第二页时,它会回到零并重新计算。

以下是代码:

     $('[for-checkbox]').parent().find('input').on('change', function () {

    var total = 0;
    $('[for-checkbox]').parent().find('input').each(function () {
        if ($(this).is(':checked')) total++;
    });

    if (total > 0) $('[checkbox-callback]').html(total + ' counted');
    else $('[checkbox-callback]').html('');
});

1 个答案:

答案 0 :(得分:1)

页面上加载的数据表的整个html是否加载?或者它是否回调服务器并获取新数据?我的猜测是,当你转到另一个页面时,表正在从服务器重新加载。在这种情况下,您必须将总变量保留在第一个for循环之外。

您还必须考虑取消选中复选框并减少总变量。

尝试这样的事情:

var total = 0;
$('[for-checkbox]').parent().find('input').on('change', function () {

    if ($(this).is(':checked')) total++;
    else total--;

    if (total > 0) $('[checkbox-callback]').html(total + ' counted');
    else $('[checkbox-callback]').html('');
});