我正在尝试根据两列搜索和过滤数据表中的数据。 下面是我用于搜索和重绘数据表的代码。 (http://live.datatables.net/hapijuri/1/edit)
$(document).ready( function () {
var table = $('#example').DataTable({
"columns": [
{ title: 'title0', name: 'name0'},
{ title: 'title1', name: 'name1'},
{ title: 'title2', name: 'name2'},
{ title: 'title3', name: 'name3'},
{ title: 'title4', name: 'name4'},
{ title: 'title5', name: 'name5'},
]
});
table.column(1).search('Software Engineer')
.column(0).search('Bradley Greer').draw();
} );
此代码的问题在于它适用于列号(或索引),而不适用于列名称,但是我有要搜索的列名称。
有什么方法可以根据列名而不是数据表 jquery 中的索引进行搜索吗?
编辑:提供更多详细信息以确保我能够很好地提出问题。 因此,我在 UI 上显示了一个数据表,并且我正在使用数据表数据在另一个选项卡中构建一个数据透视表(使用pivottable.js)。
单击数据透视表中的数字时,我希望过滤 UI 上的数据表数据,以便仅显示与数据透视表中单击的数字相关的行。
我从数据透视表中获取与该数字对应的列名称和值。我只需要搜索数据表中的这些列值并相应地显示数据表的过滤器。
正如我共享的示例链接中所指出的,我能够根据列索引搜索数据,并且这同样会反射(reflect)在 UI 上。 我正在寻找的是根据列名称而不是列值进行搜索。
最佳答案
为了防止从表中搜索列,您必须添加 searchable:false
。默认情况下,searchable & orderable
的值为 true
。
var table = $('#example').DataTable({
"columns": [
{ title: 'title0', name: 'name0', "searchable": true},
{ title: 'title1', name: 'name1'},
{ title: 'title2', name: 'name2'},
{ title: 'title3', name: 'name3'},
{ title: 'title4', name: 'name4'},
{ title: 'title5', name: 'name5'},
]
});
除非您有服务器端数据处理,否则无需添加以下代码。
table.column(1).search('Software Engineer')
.column(0).search('Bradley Greer').draw();
关于javascript - 如何使用列名搜索数据表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59840752/