繁体   English   中英

通过联接过滤器从选定的复选框中查找数据并向数据表中多选Jquery?

[英]Find Data from selected Checkbox and Multiselect Jquery to Datatables by Join Filter?

我设法创建了一个按选定值(单值)进行列过滤的过滤器,但是当我尝试使其过滤列和双精度值(使用复选框)时,我陷入了困境。 问题是,如何将已声明的spesific列中的复选框中的两个或多个值联接在一起? 任何人都可以帮助我举例说明或解决此问题吗? 谢谢

这是我现有的代码

//Select Form
<select id="strFltr" class="form-control form-control-sm" multiple="multiple">
<option>STARTER</option>
<option>NON STARTER</option>

//Filter Column
$('#strFltr').on('change', function(){
                        oTable.column(3).search(this.value).draw();
                    });

谢谢

根据我从文档中了解到的信息,您只能在其中传递一个字符串参数,但是您可以将其视为正则表达式。 因此, $(this).val()将等于字符串数组,可以将其与|连在一起| or regexp运算符),并且您还需要转义regexp的值:

var values = $(this).val().map(function (value) {
   return $.fn.dataTable.util.escapeRegex(value);
})
var value = values.join('|');
oTable.column(3).search(value, true, false).draw();

您可以通过val()获得多个选择的值。

例如,

$('#strFltr').val()

您可以通过pipe(|)分隔符搜索多个值。

例如,

oTable.column(3).search("STARTER|NON STARTER").draw();

如果您的jQuery版本支持join ,那么您可以执行以下操作,

var seachlist =  $('#strFltr').val().join("|");
oTable.column(3).search(seachlist, true, false).draw();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM