Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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_Node.js_Datatable_Datatables - Fatal编程技术网

Jquery 有没有办法加上一句;选择全部";dataTable中的复选框,用于检查下表行中的所有复选框

Jquery 有没有办法加上一句;选择全部";dataTable中的复选框,用于检查下表行中的所有复选框,jquery,node.js,datatable,datatables,Jquery,Node.js,Datatable,Datatables,我的页面上有多个动态表,每一行都有一个复选框,我正在分配一个从sql查询中获取的值。在下面附加一个屏幕截图:- 一次可以有5-10张以上的桌子 这是我桌子结构的把手代码 <div id="collapse_{{major_location_id}}" class="collapse show" aria-labelledby="heading data-parent="#accordion"> <div class="

我的页面上有多个动态表,每一行都有一个复选框,我正在分配一个从sql查询中获取的值。在下面附加一个屏幕截图:-

一次可以有5-10张以上的桌子

这是我桌子结构的把手代码

<div id="collapse_{{major_location_id}}" class="collapse show" aria-labelledby="heading data-parent="#accordion">
                             <div class="card-body">
                                <div class="common_table table-responsive search-input tablecolumnLimit">
                                   <table class="table  locations-table">
                                      <thead>
                                         <tr>
                                            <th>
                                               <label class="custom_checkbox">
                                                  <input class="chk_all" type="checkbox">
                                                  <span class="checkmark"></span>
                                               </label>Location Name
                                            </th>
                                            <th>Address</th>
                                            <th>City</th>
                                            <th>Zipcode</th>
                                         </tr>
                                      </thead>
                                      <tbody>
                                         {{#each locations}}

                                         <tr>
                                            <td>
                                               <label class="custom_checkbox">
                                                  {{#if (eq type 'participant')}}
                                                  <input type="checkbox" class="chk_cls"
                                                     name="participant_locations[]" value="{{location_id}}">
                                                  {{else}}
                                                  <input type="checkbox" class="chk_cls"
                                                     name="non_participant_locations[]" value="{{location_id}}">
                                                  {{/if}}
                                                  <span class="checkmark"></span>
                                               </label>{{location_name}}</td>
                                            <td>{{this.address1}}</td>
                                            <td>{{this.donor_city}}</td>
                                            <td>{{this.zip}}</td>
                                         </tr>
                                         {{/each}}
                                      </tbody>
                                   </table>
                                </div>
                             </div>
                          </div>
)})

以下代码仅适用于单个表:

$("#chk_all").on('click', function () {
    var cells = table.api().cells().nodes();
    $(cells).find('.chk_cls').prop('checked', this.checked);
});
您可以使用已经使用的选择器,但只需提供不同的选择器即可-例如:

var cells = $('.dataTable').dataTable().api().cells().nodes();

这将查找使用类
dataTable
的所有表。从这里开始,您可以使用现有逻辑的其余部分。

以下修改Andrew给出的建议为我工作。 我使用$(this)查找与我的Check All复选框最近的表,然后使用变量获取所有单元格

$(".chk_all").on('click', function () {
     var myTable = $(this).closest(table);
     var cells = $(myTable).dataTable().api().cells().nodes();
     $(cells).find('.chk_cls').prop('checked', this.checked);
});
$(".chk_all").on('click', function () {
     var myTable = $(this).closest(table);
     var cells = $(myTable).dataTable().api().cells().nodes();
     $(cells).find('.chk_cls').prop('checked', this.checked);
});