Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据表在所有页面上更改复选框_Javascript_Html_Datatables_Jquery Datatables - Fatal编程技术网

Javascript 数据表在所有页面上更改复选框

Javascript 数据表在所有页面上更改复选框,javascript,html,datatables,jquery-datatables,Javascript,Html,Datatables,Jquery Datatables,我使用DataTables列出在web应用程序的每个页面上显示的“事件” 对于每个页面,我都有一列,每个事件都是一行,每页都有复选框。(让您了解它的外观:) 当我单击一个页面时,它应该选中所有复选框,但是这些复选框只在DataTable的当前页面上被选中 感谢您的帮助 编辑:这是我的问题()的JSFIDLE HTML 名称 复选框 老虎尼克松 加勒特温特斯 阿什顿考克斯 塞德里克·凯利 佐藤航空 布里尔·威廉姆森 赫罗德·钱德勒 罗娜·戴维森 科琳赫斯特 索尼娅·弗罗斯特 杰娜·盖恩斯 奎因·

我使用DataTables列出在web应用程序的每个页面上显示的“事件”

对于每个页面,我都有一列,每个事件都是一行,每页都有复选框。(让您了解它的外观:)

当我单击一个页面时,它应该选中所有复选框,但是这些复选框只在DataTable的当前页面上被选中

感谢您的帮助

编辑:这是我的问题()的JSFIDLE

HTML


名称
复选框
老虎尼克松
加勒特温特斯
阿什顿考克斯
塞德里克·凯利
佐藤航空
布里尔·威廉姆森
赫罗德·钱德勒
罗娜·戴维森
科琳赫斯特
索尼娅·弗罗斯特
杰娜·盖恩斯
奎因·弗林
JavaScript

$(document).ready(function() {
    $.extend($.fn.dataTable.defaults, {
        "columns": [null, { "orderable": false }]
    });
    $('#eventsTable').DataTable();
});

$("#checkall").on('click', function() {
    if (this.checked) {
        for(var i = 1; i <= 12; i++) {
            var id = "#checkbox" + i;
            $(id).prop('checked', true);
        }
    } else {
        for(var i = 1; i <= 12; i++) {
            var id = "#checkbox" + i;
            $(id).prop('checked', false);
        }
    }
});
$(文档).ready(函数(){
$.extend($.fn.dataTable.defaults{
“列”:[null,{“orderable”:false}]
});
$('#eventsTable').DataTable();
});
$(“#checkall”)。在('click',function()上{
如果(选中此项){

对于(var i=1;i您的单击处理程序应更改为:

$("#checkall").on('click', function () {
    $('#eventsTable').DataTable()
        .column(1)
        .nodes()
        .to$()
        .find('input[type=checkbox]')
        .prop('checked', this.checked);
});
有关代码和演示,请参阅


考虑使用jQuery DataTables更容易地处理表中的复选框。

@ozil我用JSFIDLE编辑了这篇文章,只要请求它就可以了……这是一个更好的解决方案,因为它也可以处理过滤列表。非常感谢。很高兴听到我的代码帮助了你。是否可以使用JSFIDLE保留当前的分页是否转到第1页?
$("#chbox").click(function () {
    //chbox is main checkbox  
    var rows,checked;  
    var rows = $("#viewlist").dataTable().$('tr', {"filter": "applied"});// viewlist is
    checked = $(this).prop('checked');
    $.each(rows, function () {
        var checkbox = $($(this).find('td').eq(0)).find('input').prop('checked', checked);
    });
});
$("#chbox").click(function () {
    //chbox is main checkbox  
    var rows,checked;  
    var rows = $("#viewlist").dataTable().$('tr', {"filter": "applied"});// viewlist is
    checked = $(this).prop('checked');
    $.each(rows, function () {
        var checkbox = $($(this).find('td').eq(0)).find('input').prop('checked', checked);
    });
});