自定义jQueryUI From-To DatePicker用于在我必须创建DateTime列之前工作" searchable:false" 。我这样做是因为我不希望日期时间结果包含在搜索字段过滤器中。
$(document).ready(function() {
var table = $('#myTable').DataTable({
...,
columnDefs: [
//column 6 set to "not searchable""
{ "searchable": false, targets: [6] }
]
....
$('#from').change( function() {
table.draw(); } );
$('#to').change( function() {
table.draw(); } );
} );
这是From-To Date范围实施:
//Date Range Picker
$(function() {
$( "#from" ).datepicker({
onClose: function( selectedDate ) {
$( "#to" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#to" ).datepicker({
onClose: function( selectedDate ) {
$( "#from" ).datepicker( "option", "maxDate", selectedDate );
}
});
});
$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
var iFini = document.getElementById('from').value;
var iFfin = document.getElementById('to').value;
var iStartDateCol = 6;
var iEndDateCol = 6;
);
任何人都可以弄明白,从 - 到和搜索的工作方式是什么?
答案 0 :(得分:1)
我能找到的唯一解决方案是覆盖搜索方法。这样就可以只搜索0-5列,而From-To输入仍然可以使用第6列作为日期范围。
$('.dataTables_filter input').unbind().on('keyup', function() {
var searchTerm = this.value.toLowerCase();
$.fn.dataTable.ext.search.push(function(settings, data, dataIndex)
{
if (~data[0].toLowerCase().indexOf(searchTerm)) return true;
if (~data[1].toLowerCase().indexOf(searchTerm)) return true;
if (~data[2].toLowerCase().indexOf(searchTerm)) return true;
if (~data[3].toLowerCase().indexOf(searchTerm)) return true;
if (~data[4].toLowerCase().indexOf(searchTerm)) return true;
if (~data[5].toLowerCase().indexOf(searchTerm)) return true;
return false;
})
table.draw();
$.fn.dataTable.ext.search.pop();
})