如何在单击时更改所有复选框的状态(在所有页面中)selectAll复选框[使用jQuery datatable]

时间:2015-09-01 08:45:20

标签: javascript jquery checkbox

我试图通过添加复选框列来修改jQuery dataTable。我的表由多个页面组成。我想添加一个全选复选框,当我点击它时,它需要选择所有页面中的所有复选框。我的问题是,目前它只选择当前页面上的复选框。

这是我的HTML代码:

<div id="results_table">

  <h3>Results</h3>
        <div>
        <h5 style="float:left;">Results - Table</h5>
        <button id="download-json" class="btn" style="float:right;"><i class="icon-download"></i> Get JSON</button>
        <button id="download-csv" class="btn" style="float:right;"><i class="icon-download"></i> Get CSV</button>
        </div>
        <br>
        <table id="example" class="display" width="100%"></table>
        <div id="results_container">

        <p>Execute a query first!</p>

        </div>
    </div>

1 个答案:

答案 0 :(得分:1)

如果我理解你没问题,你需要存储复选框状态以在其他页面加载时应用(或者你有一个SPI网站吗?)

您可以使用Javascript:

存储在<?php function sendNotification() { return "I HATE THIS"; } ?> echo sendNotification();
sessionStorage

当您加载另一个页面时,您可以处理加载事件

var storage = window.sessionStorage; // initialize storage object

$('input[type="checkbox"][name="selectAll"]').click(function(){
    if($(this).prop("checked") == true){
        $(':checkbox').each(function() {
            this.checked = true;
            storage.setItem("checkALL", true); // save state
        });
    }
    else if($(this).prop("checked") == false){
        $(':checkbox').each(function() {
            this.checked = false;  
            storage.setItem("checkALL", false);  //save state
        });
    }
});