Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery datepicker未来日期的值_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery datepicker未来日期的值

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();

我尝试比较两天,如果开始日期高于结束日期,则返回警报。我不知道为什么,但如果我选择2016年4月19日作为开始日期,选择2016年5月1日作为结束日期,我会收到警报

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