Javascript “怎么可能?”;选择“输入”;是否修改DataTables解决方案以允许取消选择select输入?

Javascript “怎么可能?”;选择“输入”;是否修改DataTables解决方案以允许取消选择select输入?,javascript,jquery-datatables,Javascript,Jquery Datatables,这两个DataTables筛选器提供相同的功能。例如,在第一列中,当您搜索“Angelica Ramos”时,您会得到Angelica Ramos的单个记录 但是,对于具有select输入的解决方案,如果在筛选“Angelica Ramos”后选择了“”(无),则“未找到匹配记录” 在具有文本输入的解决方案中,当删除文本时,功能会按需要工作 如何修改“选择输入”DataTables解决方案以允许取消选择选择输入?这里有两种方法可以解决此解决方案,都是通过事件处理程序函数完成的: 1) 删除列搜索

这两个DataTables筛选器提供相同的功能。例如,在第一列中,当您搜索“Angelica Ramos”时,您会得到Angelica Ramos的单个记录

但是,对于具有select输入的解决方案,如果在筛选“Angelica Ramos”后选择了“”(无),则“未找到匹配记录”

在具有文本输入的解决方案中,当删除文本时,功能会按需要工作


如何修改“选择输入”DataTables解决方案以允许取消选择选择输入?

这里有两种方法可以解决此解决方案,都是通过事件处理程序函数完成的:

1) 删除列搜索的regex选项,改为使用他们为您构建的智能搜索

.on('change', function() {
    table.column(i)
    .search($(this).val()) // Uses default smart search
    .draw();
2) 添加if-else语句以检查空白字符串(“”)值

下面是一个JSFIDLE,实现了以下两个选项:


JSFIDLE中的一个选项被注释掉了,但它们都可以工作。我希望这些解决方案中有一个能满足您的需要。

非常高兴我能提供帮助。:)我得到一个错误,“未捕获引用错误:表未定义”,您能帮忙吗
.on('change', function() {
    if ($(this).val() == "") {
        // Uses default smart search in only this case
        table.column(i).search('').draw();
    } else {
        // Uses regex search - this is what is shown on the select inputs page
        table.column(i).search('^'+$(this).val()+'$', true, false).draw();