我有像这样的数据表
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();
}
});
但是它不会让我过滤,仍然是相同的结果。我可能会错过一些东西,所以任何人都可以帮助我解决这些问题吗?
答案 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();
});
它运行完美。
注意:如果您在服务器端尝试将查询放在哪里,就我而言,我不使用查询,因为我的查询而是每行临时需要检查清单。