DataTables JQuery & filter



我有我的表,我只想用多选进行过滤。所以我使用相扑选择:http://hemantnegi.github.io/jquery.sumoselect/sumoselect_demo.html然后,我得到了我选择的选定选项,我想用这个值刷新我的表,所以我这样做:

$('#ticketDataTable').DataTable();
$('#ticketDataTable').DataTable().column(5).search(pattern,true,true).draw();

例如模式 ="INITIAL|第二"但是当我这样做时,我只取我的第一个值,而不是两者!

您必须搜索数据表 使用正则表达式进行过滤

从相扑选择获取值后

1:替换没有按计划工作,它用 | 替换第一个逗号,其余它不会替换。

为了克服这个问题,我使用正则表达式替换了模式中的所有逗号值

试试这个链接 : https://jsfiddle.net/p2x1ge7v/2/

    $(document).ready(function() {
    $('#example').DataTable();
 var office = $('#example').DataTable()
                .column(2)
                .data()
                .toArray();
     var officeunq = [];
        $.each(office, function(i, el){
    if($.inArray(el, officeunq) === -1) 
    {officeunq.push(el);
     optionText =  $.trim(el);
    $('#select1').append(`<option value="${optionText}">
                                       ${optionText}
                                  </option>`);
    }
});
$('#select1').SumoSelect(); 
    $('#button').click( function () { 
     var pattern = $('#select1').val();
     if(pattern!=null)
     {pattern = pattern.toString().replace(/,/g, '|');
     $('#example').DataTable().destroy(); 
     alert(pattern);
     
$('#example').DataTable({ "search": {regex: true}}).column(2).search(pattern, true, false ).draw(); 
} else
    {
   
    $('#example').DataTable().search( '' )
 .columns().search( '' )
 .draw();
    }
    } ); 
    
   
} );

最新更新