我正在使用每个类名称的自定义过滤。我的页面上也有两个不同的dataTables,但是似乎要添加的过滤器适用于两个dataTables。我想指定它实际应用于哪一个。
$.fn.dataTableExt.afnFiltering.push(function (oSettings, aData, iDataIndex) {
var myRowClasses = oSettings.aoData[iDataIndex].nTr.className.split(" ");
if($("#subplayers").is(":checked")) {
return myRowClasses.indexOf('insub') > -1;
} else {
return myRowClasses.indexOf('allplayers') > -1;
}
});
Run Code Online (Sandbox Code Playgroud)
此过滤器适用于两个表(具有表1 tabledata和具有id的表2 tabledata2)。如何修改此代码以使其仅在表1上起作用?
表格代码:
var table = $('#tabledata').DataTable({
'fnCreatedRow': function (nRow, aData, iDataIndex) {
$(nRow).attr('id', 'col' + iDataIndex+'_filter');
if (initatedTable){
$(nRow).addClass("insub");
$(nRow).addClass("allplayers");
}
}
});
var table2 = $('#tabledata2').DataTable({
'fnCreatedRow': function (nRow, aData, iDataIndex) {
$(nRow).attr('id', 'col' + iDataIndex+'_filter');
}
});
Run Code Online (Sandbox Code Playgroud)
您需要像这样向您的过滤器功能添加if检查;
$.fn.dataTableExt.afnFiltering.push(function (oSettings, aData, iDataIndex) {
if (settings.nTable.id === 'tabledata') {
// filter example
}
else {
// ...
}
});
Run Code Online (Sandbox Code Playgroud)
在此示例中,if (settings.nTable.id === 'tabledata')line将解决问题。
| 归档时间: |
|
| 查看次数: |
655 次 |
| 最近记录: |