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