[英]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.