自定义 jQueryUI From-To DatePicker 在我必须将 DateTime 列设置为“可搜索: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(); } );
} );
这是“从-到日期”范围实现:
//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-5 列的搜索,并且“从-到”输入仍然可以使用第 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();
})
关于javascript - 数据表列可搜索 :false also disables Date-Range Search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37389119/