Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用column()筛选将来带有日期的行。search()_Jquery_Datatables - Fatal编程技术网

Jquery 如何使用column()筛选将来带有日期的行。search()

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

我正在使用function column().search(input[,regex[,smart[,caseensen]])获取复选框(#1)的结果

我希望第5列的结果为空,或者该列中的日期为将来。第一部分很好。但我如何筛选未来的日期呢


希望有人能帮助我

这就是你要做的:

    $('#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今天的行。我将在日期值为空的行中添加这些行,如下所示:table.column(5)。search(“a[I]| ^$”,true,false)。draw();。但这不起作用。你想用将来的日期替换空日期吗?我将筛选包含空日期或没有日期值的行。只应排除过去的日期。这对我不起作用(如果(datecolumn>start | | value=''){)…在我的数据库中,没有日期的值是一个空对象!通过更新,我只得到日期列为>开始的行有所有日期的页面没有日期的页面,它是如何显示的??
$('#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();
    }
});