Javascript 数据表以编程方式应用过滤器
我使用datatables jquery插件显示一个列表,该列表是通过对服务器的ajax调用加载的。 我使用了Javascript 数据表以编程方式应用过滤器,javascript,jquery,css,datatables,Javascript,Jquery,Css,Datatables,我使用datatables jquery插件显示一个列表,该列表是通过对服务器的ajax调用加载的。 我使用了bFilter属性来隐藏过滤器,因为我想将搜索输入放在侧边栏中 $(function () { var generatedCustomerTable = $('#ItemsTable').DataTable({ "order": [[0, "desc"]], "bSort": true, processing: true,
bFilter
属性来隐藏过滤器,因为我想将搜索输入放在侧边栏中
$(function () {
var generatedCustomerTable = $('#ItemsTable').DataTable({
"order": [[0, "desc"]],
"bSort": true,
processing: true,
serverSide: true,
ajax: {
url: "/api/Ajax/Test",
method: "POST",
},
columns: [
{ visible: false, data: "id" },
{ orderable: false, data: "name" },
{ orderable: false, data: "value" },
],
bLengthChange: false, // Hide the page size
bFilter: false, // Hide the search box
ordering: true,
paging: true,
pagingType: "full_numbers",
pageLength: 10,
language: {
paginate: {
first: '«',
previous: '‹',
next: '›',
last: '»'
},
aria: {
paginate: {
first: 'First',
previous: 'Previous',
next: 'Next',
last: 'Last'
}
}
}
});
$("#btnTest").click(function () {
// I WANT HERE TO SET THE FILTER
generatedCustomerTable.draw();
});
});
我想通过编程来设置过滤文本,但我还没有找到一种方法
是否有某种函数允许我设置过滤器值,以便调用
.draw()
方法来刷新列表内容。在您的代码中,通过将bFilter
设置为false
不仅会隐藏搜索框,还会从数据表中禁用搜索功能
为了创建您自己的自定义搜索框,您必须启用bFilter
,然后通过设置以下内容使用css隐藏默认搜索控件(推荐):
.dataTables_filter {
display:none;
}
,或者使用|创建自己的表渲染
请参阅下面的代码片段:
var数据集=[
[1,“名称1”,“一”],
[2,“BRimos”,“JS”],
[3,“皮塔里迪斯”,“数据”],
[4,“堆栈”、“溢出”],
[5,“名称2”,“两个”],
[6,“名称3”,“三”],
[7,“名称4”,“一”],
[8,“BRimos 2”,“JS”],
[9,“pitaridis 2”,“数据”],
[10,“堆栈2”,“溢出”],
[11,“名称5”,“两个”],
[12,“名称6”,“三”]
];
$(函数(){
var generatedCustomerTable=$('#ItemsTable')。数据表({
“订单”:[[0,“说明”]],
“bSort”:正确,
数据:数据集,
栏目:[
{可见:false,标题:“id”},
{orderable:false,标题:“name”},
{orderable:false,标题:“value”}
],
bLengthChange:false,//隐藏页面大小
bFilter:true,//隐藏搜索框
顺序:对,
是的,
pagingType:“完整编号”,
页长:5,
语言:{
分页:{
第一个:“«”,
上一个:“嫀”,
下一个:“›”,
最后:“»”
},
咏叹调:{
分页:{
第一:"第一",,
上一个:'上一个',
下一个:'下一个',
最后:“最后”
}
}
}
} );
$(“#btnTest”)。单击(函数(){
log($(“#过滤器”).val(),generatedCustomerTable);
生成自定义表
.search($(“#过滤器”).val()).draw();
});
});代码>
.dataTables\u过滤器{
显示:无;
}
搜索