Javascript 基于td属性的数据表搜索
我在搜索表上的“数据搜索”属性时遇到问题 这是我如何通过Datatable()添加属性的: 我想使用下拉列表根据属性值进行搜索,我尝试了以下方法:Javascript 基于td属性的数据表搜索,javascript,jquery,ajax,laravel,datatables,Javascript,Jquery,Ajax,Laravel,Datatables,我在搜索表上的“数据搜索”属性时遇到问题 这是我如何通过Datatable()添加属性的: 我想使用下拉列表根据属性值进行搜索,我尝试了以下方法: $('#dropdown1').on('change', function() { if(this.value === ' ') { table .columns( 0 ) .search( '' ) .draw(); } else {
$('#dropdown1').on('change', function() {
if(this.value === ' ') {
table
.columns( 0 )
.search( '' )
.draw();
} else {
table
.columns( 0 )
.search( this.value )
.draw();
}
})
但它似乎不起作用
请在这里找到fiddle和模拟数据
任何帮助或帮助都将不胜感激。您可以使用搜索插件,直接检查行的
父id
是否已根据下拉列表中选择的值进行设置
这将是搜索插件:
$.fn.dataTable.ext.search.push(function (settings, searchData, index, rowData, counter) {
let shouldDisplay = true;
let searchValue = $('#dropdown1').val();
if (searchValue == 'merchant') {
shouldDisplay = rowData.parent_id ? true : false;
} else if (searchValue == 'psp') {
shouldDisplay = rowData.parent_id ? false : true;
}
return shouldDisplay;
});
如果下拉列表发生变化,只需在表上调用draw:
$('#dropdown1').on('change', function() {
table.draw();
});
您好,您的意思是您想让用户在下拉列表中选择列名,然后按该组件进行搜索吗?就像在“商户代码”列上搜索“ab”一样?@yapro否我只想通过下拉列表过滤/搜索添加了属性的数据表。我不知道这是否有意义?答案中给出的例子不起作用。另一个答案是不使用属性通过@yapro进行过滤
$('#dropdown1').on('change', function() {
table.draw();
});