隐藏jQuery dataTables中的列?

Har*_*ris 5 javascript jquery datatables

我想隐藏的列中jQuery DataTables包含地理区在它的th.这就是我在做的事情:

$(document).ready(function(){

        if(geo_zone_on_off==0){
            var _index=$("#datatable_ajax .heading th:contains(GeoZone)").index();
            var oTable=$("#datatable_ajax").DataTable();
            if(_index != -1){
                 oTable.column(_index).visible(false);
     }
        }
    });
Run Code Online (Sandbox Code Playgroud)

加载了dataTable,但该列未被隐藏.在这之前我尝试在表格渲染时隐藏它并且它工作正常.我当时做的是:

 "initComplete": function(settings, json) {
                       if(geo_zone_on_off==0){
                        var _index=$("th.sorting:contains(GeoZone),th.no-sort:contains(GeoZone)").index();

                           if(_index != -1){
                             grid.getDataTable().column(_index).visible(false);
                           }
                       }
                       },
Run Code Online (Sandbox Code Playgroud)

但它有一个问题,它在表加载时显示隐藏的列.为了避免这个问题,我使用了首先提到的解决方案.但它没有工作,虽然我正在使索引正确.它不会给出任何错误.

Pra*_*esh 0

您想要隐藏其中包含地理区域的列。

尝试这样的事情

$('table').DataTable();
    $('button').on('click',function(){
        $('th').each(function(i,e){
        if($(this).text()=='No') {
         $(this).hide();
         $('tr').each(function(){
          $(this).find('td').each(function(index,element){
            if(index==i) {
              $(this).hide();
            }
          });
         });
        }
      });
    });
Run Code Online (Sandbox Code Playgroud)

查看演示