Jquery 如何使用column()筛选将来带有日期的行。search()
我正在使用function column().search(input[,regex[,smart[,caseensen]])获取复选框(#1)的结果 我希望第5列的结果为空,或者该列中的日期为将来。第一部分很好。但我如何筛选未来的日期呢Jquery 如何使用column()筛选将来带有日期的行。search(),jquery,datatables,Jquery,Datatables,我正在使用function column().search(input[,regex[,smart[,caseensen]])获取复选框(#1)的结果 我希望第5列的结果为空,或者该列中的日期为将来。第一部分很好。但我如何筛选未来的日期呢 希望有人能帮助我 这就是你要做的: $('#1').click(function(){ if($(this).is(':checked')){ $("#2, #3").prop('checked', fals
希望有人能帮助我 这就是你要做的:
$('#1').click(function(){
if($(this).is(':checked')){
$("#2, #3").prop('checked', false);
a = table.column(5).data().filter( function ( value, index ) {
var start = Date.now();
var dates1 = value.split(".");
var datecolumn = new Date(dates1[1]+"/"+dates1[0]+"/"+dates1[2]).getTime();
if(datecolumn > start || value == ''){
return value;
}
} )
for (i = 0; i < a.length; i++) {
table.column(5).search(a[i], true, false ).draw();
}
}
else {
table
.search( '' )
.columns().search( '' )
.draw();
}
});
$('#1')。单击(函数(){
如果($(this).is(':checked')){
$(“#2,#3”).prop('checked',false);
a=表.列(5).数据().过滤器(函数(值,索引){
var start=Date.now();
var dates1=value.split(“.”);
var datecolumn=new Date(dates1[1]+“/”+dates1[0]+“/”+dates1[2]).getTime();
如果(日期列>开始| |值=“”){
返回值;
}
} )
对于(i=0;i
所以这对我来说很有效:
$('#1').click(function(){
if($(this).is(':checked')){
$("#2, #3").prop('checked', false);
a = table.column(5).data().filter( function ( value, index ) {
var start = Date.now();
var dates1 = value.split(".");
var datecolumn = new Date(dates1[1]+"/"+dates1[0]+"/"+dates1[2]).getTime();
if(datecolumn < start){
return value;
}
} )
for (i = 0; i < a.length; i++) {
table.column(5).search(a[i], true, false ).draw();
}
}
else {
table
.search( '' )
.columns().search( '' )
.draw();
}
});
$('#1')。单击(函数(){
如果($(this).is(':checked')){
$(“#2,#3”).prop('checked',false);
a=表.列(5).数据().过滤器(函数(值,索引){
var start=Date.now();
var dates1=value.split(“.”);
var datecolumn=new Date(dates1[1]+“/”+dates1[0]+“/”+dates1[2]).getTime();
如果(日期列<开始){
返回值;
}
} )
对于(i=0;i
我必须使用for循环,否则我的表不会在网站上显示结果。
现在我必须添加空的行。因此,如果表中的日期值为空,则应显示日期比今天早/新的行或行
没有日期值的页面(“结束日期”):
包含所有日期的页面:
我明白了!它与此配合使用:
$('#1').click(function(){
if($(this).is(':checked')){
$("#2, #3").prop('checked', false);
var test = [];
table.column(5).data().filter( function ( value, index ) {
var start = Date.now();
var dates1 = value.split(".");
var datecolumn = new Date(dates1[1]+"/"+dates1[0]+"/"+dates1[2]).getTime();
if(datecolumn >= start){
test.push(value);
}
else{
test.push('^$');
}
} )
console.log(test);
for (i = 0; i < test.length; i++) {
//console.log(test[i]);
table.column(5).search(test.join('|'), true, false, true).draw();
}
}
else {
table
.search( '' )
.columns().search( '' )
.draw();
}
});
$('#1')。单击(函数(){
如果($(this).is(':checked')){
$(“#2,#3”).prop('checked',false);
var检验=[];
table.column(5).data().filter(函数(值、索引){
var start=Date.now();
var dates1=value.split(“.”);
var datecolumn=new Date(dates1[1]+“/”+dates1[0]+“/”+dates1[2]).getTime();
如果(datecolumn>=开始){
测试。推(值);
}
否则{
测试.推送(“^$”);
}
} )
控制台日志(测试);
对于(i=0;i
您的日期格式是什么(您在第5列中显示)?它来自数据库,输入“日期”不,我的意思是(dd-mm-yy)或者什么。?这里有一个例子:value=2019-12-31您可以使用datejs:ahh解析日期谢谢您的帮助:)这看起来很好。如果我更改此return datecolumn>start?true:false;to return datecolumn$('#1').click(function(){
if($(this).is(':checked')){
$("#2, #3").prop('checked', false);
var test = [];
table.column(5).data().filter( function ( value, index ) {
var start = Date.now();
var dates1 = value.split(".");
var datecolumn = new Date(dates1[1]+"/"+dates1[0]+"/"+dates1[2]).getTime();
if(datecolumn >= start){
test.push(value);
}
else{
test.push('^$');
}
} )
console.log(test);
for (i = 0; i < test.length; i++) {
//console.log(test[i]);
table.column(5).search(test.join('|'), true, false, true).draw();
}
}
else {
table
.search( '' )
.columns().search( '' )
.draw();
}
});