大家好,
我正在建立一个网络来预订一个公共休息室。
它有一个带有开始日期字段和结束日期字段的表单。
您可以根据需要添加任意数量的开始日期和结束日期。
提交数据时,我有一个包含所有开始日期的数组和另一个包含所有结束日期的数组。
澄清:
Begin dates Ending dates
01-07-2013 03-07-2013
04-07-2013 10-07-2013
arrayBeginDates ["01-07-2013","04-07-2013"]
arrayEndDates ["03-07-2013","10-07-2013"]
我的代码中形成数组的方式:
var arrayBeginDates = [];
$(".beginDate").each(function(){
arrayBeginDates.push($(this).val());
})
//and the same for ending dates, arrayEndDates
我需要验证在结束日期结束日期结束日期大于开始日期。
意义:
arrayEndDates [0]必须大于arrayBeginDates [0]否则会出现错误提示并退出 arrayEndDates [1]必须大于arrayBeginDates [1]否则会出现错误提示并退出
等等
我该怎么做?
非常感谢!
答案 0 :(得分:0)
试试这个:
var bDates = ["01-07-2013","04-07-2013"];
var eDates = ["03-07-2013","10-07-2013"];
for (var i = 0; i < bDates.length; i++) {
if ((new Date(eDates[i].split('-').reverse().join(','))) > (new Date(bDates[i].split('-').reverse().join(',')))) {
console.log('valid');
} else {
console.log('invaid');
}
}
答案 1 :(得分:0)
如下所示:
arrayBeginDates.each( function(index, beginDate) {
var begin = new Date(beginDate).setHours(0,0,0,0);
var end = new Date(arrayEndDates[index]).setHours(0,0,0,0);
if (begin > end)
//handle Error
});
注意:这要求arrayStartDates和arrayEndDates具有相同数量的元素(但是,如果他们不这样做,你的问题就没有多大意义。