我正在尝试验证返回日期是在出发后,我想不出如何编写该功能。我想一种方法是从datepicker()中选取的日期去掉(/)正斜杠,这样它们就是整数并将它们存储到新变量中然后使用if / else语句来警告返回日期<出发日期。
任何人都知道这是否是正确的方法?如果是这样我如何从datepicker()获取输入并删除斜杠??
$(document).ready(function(){
var destinations = [];
destinations[0]='italy';
destinations[1]='france';
destinations[2]='california';
destinations[3]='miami';
destinations[4]='Denver';
destinations[5]='chicago';
var departing = $('#departing').datepicker();
var returning = $('#returning').datepicker();
$('#destination').autocomplete({source:destinations});
$('input').focus(function(){
$(this).css('outline-color', 'skyblue');
}); // end focus function
}); // end document Ready
答案 0 :(得分:1)
您不需要自己解析日期。只需致电$(selector).datepicker('getDate')
,您就会得到一个约会对象。
如果你有两个日期,你可以简单地将它们相互比较。
function validate() {
var departing = $('#departing').datepicker('getDate');
var returning = $('#returning').datepicker('getDate');
//do wathever you want if returning is before departing
alert(departing > returning);
}
您还可以限制可选日期:
$('#departing').on('change', function() {
$('#returning').datepicker("option", "minDate", $('#departing').datepicker('getDate'));
});
$('#returning').on('change', function() {
$('#departing').datepicker("option", "maxDate", $('#returning').datepicker('getDate'));
});
答案 1 :(得分:0)
您可以使用日期选择器功能轻松实现此目的。下面的代码行将为您提供相应日期选择器的Date
对象 ...
var departing= $("#departing").datepicker("getDate");
var returning= $("#returning").datepicker("getDate");
为了比较,你可以简单地使用
if (departing < returning) {
找出退货日期是在出发后。
或者您可以查看日期选择器日期解析器方法以直接获取Date
对象,
var departing= $.datepicker.parseDate("date-picker-format",$("#returning").val());
var returning= $.datepicker.parseDate("date-picker-format",$("#returning").val());
//e.g date-picker-format = dd-mm-yy