Javascript 如何使用jquery按日期筛选表

Javascript 如何使用jquery按日期筛选表,javascript,jquery,Javascript,Jquery,如何使用仅使用jquery插件的日期范围筛选表数据。我有一个下拉框数据取决于所选的日期和日期范围以及值。如何在我的网页中添加插件,我们可以使用插件b HTML: 我已经为表过滤器创建了函数 function display(startDate,endDate) { //alert(startDate) startDateArray= startDate.split("/"); endDateArray= endDate.split("/"); var start

如何使用仅使用jquery插件的日期范围筛选表数据。我有一个下拉框数据取决于所选的日期和日期范围以及值。如何在我的网页中添加插件,我们可以使用插件b

HTML:


我已经为表过滤器创建了函数

function display(startDate,endDate) {
    //alert(startDate)
    startDateArray= startDate.split("/");
    endDateArray= endDate.split("/");

    var startDateTimeStamp = new Date(startDateArray[2],+startDateArray[0],startDateArray[1]).getTime();
    var endDateTimeStamp = new Date(endDateArray[2],+endDateArray[0],endDateArray[1]).getTime();

    $("table tbody.mainBody tr").each(function() {
        var rowDate = $(this).find('td:eq(2)').html();
        rowDateArray= rowDate.split("/");

var rowDateTimeStamp =  new Date(rowDateArray[2],+rowDateArray[0],rowDateArray[1]).getTime() ;
        // alert(startDateTimeStamp<=rowDateTimeStamp)
        // alert(rowDateTimeStamp<=endDateTimeStamp)
        if(startDateTimeStamp<=rowDateTimeStamp && rowDateTimeStamp<=endDateTimeStamp) {
            $(this).css("display","block");
        } else {
            $(this).css("display","none");
        }
    });
}
格式:显示开始日期、结束日期

对于30天显示currentDate-30,currentDate

注:请更改html日期格式

<tr scope="row">
    <td>11</td>
    <td>In-Progress</td>
    <td>11/05/2017</td> 
</tr>

我已经为表过滤器创建了函数

function display(startDate,endDate) {
    //alert(startDate)
    startDateArray= startDate.split("/");
    endDateArray= endDate.split("/");

    var startDateTimeStamp = new Date(startDateArray[2],+startDateArray[0],startDateArray[1]).getTime();
    var endDateTimeStamp = new Date(endDateArray[2],+endDateArray[0],endDateArray[1]).getTime();

    $("table tbody.mainBody tr").each(function() {
        var rowDate = $(this).find('td:eq(2)').html();
        rowDateArray= rowDate.split("/");

var rowDateTimeStamp =  new Date(rowDateArray[2],+rowDateArray[0],rowDateArray[1]).getTime() ;
        // alert(startDateTimeStamp<=rowDateTimeStamp)
        // alert(rowDateTimeStamp<=endDateTimeStamp)
        if(startDateTimeStamp<=rowDateTimeStamp && rowDateTimeStamp<=endDateTimeStamp) {
            $(this).css("display","block");
        } else {
            $(this).css("display","none");
        }
    });
}
格式:显示开始日期、结束日期

对于30天显示currentDate-30,currentDate

注:请更改html日期格式

<tr scope="row">
    <td>11</td>
    <td>In-Progress</td>
    <td>11/05/2017</td> 
</tr>

这是你可以做到的。还请注意对HTML的一些小修改:

$function{ //初始化页面加载时的输入: var today=new Date.toJSON.replace/…-…-…*/,“$2/$3/$1”; $selectDate.datepicker{dateFormat:'mm/dd/yy'}.valtoday.changeapplyFilter; $selectDate2.datepicker{dateFormat:'mm/dd/yy'}.valtoday.changeapplyFilter; $rangeval.changeapplyFilter; $.fn.date=函数{ return new Datethis.is':输入“?this.val:this.text.replace/\/..$/,”/20$1”; } 函数应用过滤器{ var filterType=$rangeval.val, 开始,结束; //设置两个日期字段的可见性: $selectDate.toggle[单个日期,自定义日期范围].IndexOfficerType>-1; $selectDate2.togglefilterType==自定义日期范围; //根据过滤器的类型,设置日期范围开始、结束: 如果filterType=={ //全部显示:选择极端日期 开始=新日期'1000-01-01'; 结束=新日期'3000-01-01'; }否则如果!parseIntfilterType{ //使用数据输入: 开始=$selectDate.date; end=filterType==自定义日期范围?$selectDate2.Date:开始; }否则{ //显示最后X天: 开始=新日期; start.setHours0,0,0,0; start.setDatestart.getDate-parseIntfilterType; end=新日期;//今天 } //对于每行:根据日期范围设置可见性 $.mainBody tr.eachfunction{ var date=$td:最后一个子项,this.date;
$this.toggledate>=start&&date以下是您可以执行此操作的方法。请注意对HTML的一些小修改:

$function{ //初始化页面加载时的输入: var today=new Date.toJSON.replace/…-…-…*/,“$2/$3/$1”; $selectDate.datepicker{dateFormat:'mm/dd/yy'}.valtoday.changeapplyFilter; $selectDate2.datepicker{dateFormat:'mm/dd/yy'}.valtoday.changeapplyFilter; $rangeval.changeapplyFilter; $.fn.date=函数{ return new Datethis.is':输入“?this.val:this.text.replace/\/..$/,”/20$1”; } 函数应用过滤器{ var filterType=$rangeval.val, 开始,结束; //设置两个日期字段的可见性: $selectDate.toggle[单个日期,自定义日期范围].IndexOfficerType>-1; $selectDate2.togglefilterType==自定义日期范围; //根据过滤器的类型,设置日期范围开始、结束: 如果filterType=={ //全部显示:选择极端日期 开始=新日期'1000-01-01'; 结束=新日期'3000-01-01'; }否则如果!parseIntfilterType{ //使用数据输入: 开始=$selectDate.date; end=filterType==自定义日期范围?$selectDate2.Date:开始; }否则{ //显示最后X天: 开始=新日期; start.setHours0,0,0,0; start.setDatestart.getDate-parseIntfilterType; end=新日期;//今天 } //对于每行:根据日期范围设置可见性 $.mainBody tr.eachfunction{ var date=$td:最后一个子项,this.date;
$this.toggledate>=开始和日期省去麻烦,使用插件。为什么要重新发明轮子?我想不用插件。如果你想手工操作,我会将15天、30天等转换成时间戳和日期。这样做,对其进行数学运算并将其与过滤函数进行比较非常简单。你能编辑我的jsfiddle吗?11/04/17-DD/MM/年是正确的。你能改成像2018年那样的全年吗?省省麻烦,使用插件。为什么要重新发明轮子?我想不用插件。如果你想手工操作,我会将15天、30天等转换成时间戳和日期。这样做,对它做数学运算并与过滤函数进行比较非常简单。你能编辑我的JSFIDLE吗?11/04/17-DD/MM/年是正确的。你能像2018年那样改成全年吗?你能用JSFIDLE做吗?因为那是我们很容易理解的。我没有帐户。请传递相应的开始日期和结束日期。你能用JSFIDLE做吗?因为那是我们很容易理解的。我没有帐户。请传递相应的st
artDate和EndDate我可以将此功能应用于嵌套表吗?是的,这是可能的。如果你无法成功,那么请提出一个新问题,指出你在这方面存在的具体问题。嗨,trincot。请回答这个问题:我看到有人已经回答了。如果您计划使用此答案,是否将其标记为已接受或至少投赞成票?请回答此Qa。我可以将此功能应用于嵌套表吗?是的,这是可能的。如果你无法成功,那么请提出一个新问题,指出你在这方面存在的具体问题。嗨,trincot。请回答这个问题:我看到有人已经回答了。如果您计划使用此答案,是否将其标记为已接受或至少投赞成票?请回答此Qa。