Javascript jQuery datepicker未来日期的值
我尝试比较两天,如果开始日期高于结束日期,则返回警报。我不知道为什么,但如果我选择2016年4月19日作为开始日期,选择2016年5月1日作为结束日期,我会收到警报Javascript jQuery datepicker未来日期的值,javascript,jquery,html,Javascript,Jquery,Html,我尝试比较两天,如果开始日期高于结束日期,则返回警报。我不知道为什么,但如果我选择2016年4月19日作为开始日期,选择2016年5月1日作为结束日期,我会收到警报 var main = function() { var date1 = ""; var date2 = ""; $('h1').click(function() { $('h1').remove();
var main = function() {
var date1 = "";
var date2 = "";
$('h1').click(function() {
$('h1').remove();
})
$('#date-start').datepicker({
dateFormat: "dd.mm.yy",
minDate: new Date(),
onSelect: function(date) {
var startdate = $('#date-start').datepicker('getDate');
$('#date-end').datepicker('option','minDate',startdate);
}
})
$('#date-end').datepicker({
dateFormat: "dd.mm.yy"
})
$('#btn').click(function() {
date1 = $('#date-start').val();
date2 = $('#date-end').val();
if (date1 > date2) {
alert("Beginn muss vor dem Ende liegen");
$('#date-start').css("border-color","red");
$('#date-end').css("border-color","red");
}
if (date1 == "") {
alert("Bitte alle Felder ausfüllen");
$('#date-start').css("border-color","red");
$('#date-end').css("border-color","red");
}
document.getElementById("compare-date-text1").innerHTML = date1;
document.getElementById("compare-date-text2").innerHTML = date2;
})
}
$(document).ready(main)
你能找出原因吗
谢谢:)要从日期选择器获取日期,您需要:-
date1 = $('#date-start').datepicker("getDate");
date2 = $('#date-end').datepicker("getDate");
您将它们作为字符串返回以进行比较,而不是日期。当您设置
date1
和date2
时,您得到的是字符串,而不是日期
对于从日期选择器获取日期,您可以使用:
var date1 = new Date($('#date-start').datepicker('getDate'));
var date2 = new Date($('#date-end').datepicker('getDate'));
然后您可以比较:
if (date1 > date2 ){.........}
您正在比较日期字符串。因此,字符串“19.04.2016”大于“01.05.2016”。如果在日期选择器ISO 8601“yy-mm-dd”中格式化字符串,则应正确比较字符串。更好的方法是像其他人建议的那样调用
getDate