使用dataTable进行列过滤而不是woking

时间:2015-09-12 12:50:38

标签: javascript jquery datatables

下面我有一个值数组(testdata),它被赋予dataTable。

现在我想为数据表添加列过滤。 我使用了以下代码。



//USING DATATABLE ///


    $.get( '/index.php/async/getDispatchDetails/'+data,function( data ) {
     

      var testdata =data.dispatchdata;
      console.log(testdata); 
      console.log(typeof (testdata));
      
     

      var testdata = $.map(testdata, function(value, index) {
      return [value];
    });

      console.log(testdata);



    //USING DATATABLE ///


$('#dispatchDetailTable').dataTable({
    "aaData": testdata,
        "aoColumns": [{
        "mDataProp": "dispatchid"
    }, {
        "mDataProp": "itemname"
    }, {
        "mDataProp": "quantity"
    }, {
        "mDataProp": "weight"
    }, {
        "mDataProp": "accountname"
    }]
}).columnFilter({
      aoColumns: [ { type: "select", values: [ 'Gecko', 'Trident', 'KHTML', 'Misc', 'Presto', 'Webkit', 'Tasman']  },
             { type: "text" },
             null,
             { type: "number" },
             { type: "select" }
        ]

    });
});

<!-- Table -->
<table id="dispatchDetailTable" class="table table-striped">
  <thead>
    <tr>
      <!--   <th>Sr.Nos</th> -->
      <th>Id</th>
      <th>Item</th>
      <th>Qty</th>
      <th>Kg</th>
      <th>Account</th>

    </tr>
  </thead>
  <tbody>

  </tbody>
  <tfoot></tfoot>
</table>
&#13;
&#13;
&#13;

控制台显示以下错误:

  

未捕获TypeError:$(...)。dataTable(...)。columnFilter不是函数

1 个答案:

答案 0 :(得分:1)

  

未捕获的TypeError:$(...)。dataTable(...)。columnFilter不是   功能

这是因为列过滤了一个单独的插件,您可能不会将其包含在内。

你也可以像这样使用fnFilter()

$('#dispatchDetailTable').dataTable({
    "aaData": testdata.aaData,
    "aoColumns": [{
        "mData": "dispatchid"
    }, {
        "mData": "itemname"
    }, {
        "mData": "quantity"
    }, {
        "mData": "weight"
    }, {
        "mData": "accountname"
    }]
}).fnFilter('Gecko|Trident|KHTML|Misc|Presto|Webkit|Tasman', 0, true);
  

fnFilter(values,columnIndex,regex)

这是fiddle

如果您在数组中有过滤值,那么您也可以添加它:

var filterData = [ 'Gecko', 'Trident', 'KHTML', 'Misc', 'Presto', 'Webkit', 'Tasman'].join('|');