Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Jquery datatable在标题和行中带有复选框:选中所有复选框不工作_Jquery_Jquery Ui_Jquery Plugins_Datatables - Fatal编程技术网

Jquery datatable在标题和行中带有复选框:选中所有复选框不工作

Jquery datatable在标题和行中带有复选框:选中所有复选框不工作,jquery,jquery-ui,jquery-plugins,datatables,Jquery,Jquery Ui,Jquery Plugins,Datatables,我使用的是jquerydatatable。我想有一个带有标题的第一列和带有复选框的行,并且应该用其余行的复选框切换标题复选框的选择。我有下面的实现 数据表属性 "aoColumns": [{ "sTitle": "<input type='checkbox' id='selectall' onclick='toggleChecks(this);' ></input>", "mDataProp": null, "sWidth": "20px", "sDefaultCon

我使用的是
jquerydatatable
。我想有一个带有标题的第一列和带有复选框的行,并且应该用其余行的复选框切换标题复选框的选择。我有下面的实现

数据表属性

  "aoColumns": [{ "sTitle": "<input type='checkbox' id='selectall' onclick='toggleChecks(this);' ></input>", "mDataProp": null, "sWidth": "20px", "sDefaultContent": "<input type='checkbox' ></input>", "bSortable": false },null,null,null,null,null,null]

这是很好的工作,当我在单页。但当我进行分页时,其他页面的复选框保持未选中状态。如何为所有复选框实现一致的行为。请协助。

当页面更改时,您应该使用函数fnDrawCallback更新那里的表

您可以在此函数中选中标题复选框的值,并更新新行复选框

还可以向模型中的对象添加布尔值,并在选中或取消选中时更改该值。如果访问模型,则可以修改所有图元的值,而不仅仅是渲染图元的值。然后,当加载单元格时,用复选框表示该值为真/假。这是最一致的方法,但可能需要更多的工作才能在模型和视图之间实现良好的同步。

伙计们

有一个类似的问题需要快速解决

为该问题制定了一个解决方案,可能会帮助某些人:

当我动态地向表提供一些数据时:

oTable1.fnAddData
([
    "<span id='" + any_obj.id + "' style='display:block; width: 10px;'><input class='checkbox' type='checkbox' /></span>",
    title, 
    modified, 
    version
] );
oTable1.fnAddData
([
"",
标题
被改进的,
版本
] );

请注意复选框的范围。这显然是隐藏的,可以很容易地访问。

我做了一些类似的事情

$('#selectall').change(function() {
                        var isSelected = $(this).is(':checked');
                        if(isSelected){
                            $('.case').prop('checked', true);   
                        }else{
                            $('.case').prop('checked', false);
                        }
                    });

文档准备就绪。

Hi,您是否对此进行了解决?为什么不在$('#selectall').change(function(){})内切换复选框;。我已经在两个表中这样做了。函数可以简化为这样一行:
$('.case').prop('checked',$(this.is(':checked'))
oTable1.fnAddData
([
    "<span id='" + any_obj.id + "' style='display:block; width: 10px;'><input class='checkbox' type='checkbox' /></span>",
    title, 
    modified, 
    version
] );
$('#selectall').change(function() {
                        var isSelected = $(this).is(':checked');
                        if(isSelected){
                            $('.case').prop('checked', true);   
                        }else{
                            $('.case').prop('checked', false);
                        }
                    });