数据表搜索过滤器

时间:2018-12-10 09:11:13

标签: datatable

我有像这样的数据表

var table = $("#tbl_multipoinfo");
        var filter = $('.form-filterpo');
        var target = table.attr('data-table');
        $("#pideldate").datepicker({
            dateFormat: 'yy-mm-dd'                                    
        });

        var oTable = table.on( 'processing.dt', function ( e, settings, processing ) {
                if (processing) {
                    $(this).find('tbody').addClass('load1 csspinner');
                } else{
                    $(this).find('tbody').removeClass('load1 csspinner');
                };
            } ).DataTable({
                "ajax": host+'datatable/'+target,
                "bServerSide": true,
                "order": [[ 1, "desc" ]],
                "bFilter" : true,
                "scrollY":        "200px",
                "scrollCollapse": true,
                "paging":         false,
                "paging":         false,
                "ordering": false
            });          

但是我的问题是我被卡在了seacrh过滤器(功能性DATATABLE)上,即使我尝试键入任何仍然无法正常工作的东西,我还是尝试使用此类代码

        $('.dataTables_filter input').unbind().keyup(function(e) {
             var value = $(this).val();
             if (value.length>0) {
                oTable.search(value).draw();
            } else {     
                //optional, reset the search if the phrase 
                //is less then 3 characters long
                oTable.search('').draw();
            } 
        });

但是它不会让我过滤,仍然是相同的结果。我可能会错过一些东西,所以任何人都可以帮助我解决这些问题吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,我在Datatable上更改了代码

"bServerSide": true,

我删除了它,然后输入了其他类似的输入

<form class="form-filterpo" role="form">
                    <div class="row">
                        <div class="col-md-3 pull-right" style="padding-bottom:5px;">
                            <label>PO : </label>
                            <input id="fPono" class="form-control input-sm" type="text">
                        </div>
                    </div>
                </form>

然后将它们添加到jquery上(与我的表的jquery相同)

$('#tbl_multipoinfo_filter').remove();

        filter.find('#fPono').keyup(function(){
            var fPono = $(this).val();
            oTable.columns(1).search(fPono).draw();
        });

它运行完美。

注意:如果您在服务器端尝试将查询放在哪里,就我而言,我不使用查询,因为我的查询而是每行临时需要检查清单。