Javascript 基于td属性的数据表搜索

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 {

我在搜索表上的“数据搜索”属性时遇到问题

这是我如何通过Datatable()添加属性的:

我想使用下拉列表根据属性值进行搜索,我尝试了以下方法:

 $('#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();
});