我正在使用带有以下内容的datatables jQuery插件加载数据表,它完美地运行:
$(document).ready(function() {
$("#buying_datatable").DataTable({
"ajax": {
"url": "buying_interests.php",
"type": "GET"
},
"paging": true,
"sDom": '<"top">t<"bottom"><"clear">',
"pageLength": 50,
"order": [
[1, "desc"]
],
"aoColumns": [{
"bSortable": true,
"width": "40%",
"sClass": "lang_body_2",
"sTitle": "Category"
}, {
"bSortable": true,
"width": "20%",
"sClass": "lang_body_2",
"sTitle": "Database"
}, {
"bSortable": true,
"width": "20%",
"sClass": "lang_body_2",
"sTitle": "National Average"
}, {
"bSortable": true,
"width": "20%",
"sClass": "lang_body_2 index_num",
"sTitle": "Index"
},
],
});
});
但是,我想要做的是过滤此表以仅显示列中具有特定值的行。例如,仅显示索引为0的列中带有字符串“Education”的行(代码为“Category”的sTitle)。有没有办法在这里添加一些东西,以便表格只加载显示满足该过滤条件的行?
答案 0 :(得分:0)
您可以通过创建custom row filter:
来实现这一目标var filterStr = 'Education',
filterIndex = 0;
$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
return aData[filterIndex].indexOf(filterStr)>-1;
}
);
这将仅显示第一列包含值“Education”的那些行。不区分大小写的版本:
$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
return aData[filterIndex].toLowerCase().indexOf(filterStr.toLowerCase())>-1;
}
);
演示 - &gt;的 http://jsfiddle.net/4q2d37r2/ 强>
上述解决方案在dataTables 1.10.x中也可以作为1.9.x使用。