我尝试使用列过滤和显示/隐藏功能设置数据表。当列的选择按照0,1,2,3,4,5这样的有序方式时,它似乎工作得很好,但是当以0,1,2等无序方式选择列时,Individual列过滤器与常用搜索功能混合在一起, 3,6。在这种情况下,当搜索列过滤器6时,它的行为类似于常见的搜索功能。
在检查fire bug列中的请求时,过滤器6的值在sSearch而不是sSearch_6中传递。这是我的代码:
$(document).ready(function () {
var table= $("#data_table").dataTable({
"bDestroy":true,
"bStateSave": true,
"aaSorting": [[1, "asc"]],
"bProcessing": false,
"bServerSide": true,
"sAjaxSource": "/queryDb",
"bJQueryUI": true,
"bAutoWidth": false,
"bFilter":true,
"bLengthChange": true,
"bPaginate": true,
"bSort": true,
"iDisplayLength": 10,
"bInfo": true,
"sPaginationType": "full_numbers",
"fnDrawCallback" : function() {
}
}).columnFilter({
sPlaceHolder: "head:after",
aoColumns: [ { type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" }
]
});
});
显示/隐藏功能:
function fnShow(iCol)
{
var oTable = $("#data_table").dataTable();
var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
oTable.fnSetColumnVis( iCol, true );
}
function fnHide(iCol2)
{
var oTable2 = $("#data_table").dataTable();
var bVis = oTable2.fnSettings().aoColumns[iCol2].bVisible;
oTable2.fnSetColumnVis( iCol2, false );
}
请帮我解决这个错误。
答案 0 :(得分:0)
看起来像列过滤器插件是错误的。我删除了列过滤器插件并为每列创建了自定义搜索输入,并使用fnFilter()在服务器端ajax请求中附加了这些值。
像, table.fnFilter("&#34); table.fnFilter(" val0",0); table.fnFilter(" VAL1",1); 等等。