下面我有一个值数组(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;
控制台显示以下错误:
未捕获TypeError:$(...)。dataTable(...)。columnFilter不是函数
答案 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('|');