jQuery的开始日期和结束日期验证错误

问题描述:

$("#EndDate").change(function() { 
    var startDate = document.getElementById("StartDate").value; 
    var endDate = document.getElementById("EndDate").value; 
    if ((Date.parse(endDate) <= Date.parse(startDate))) { 
     alert("End date should be greater than Start date"); 
     document.getElementById("EndDate").value = ""; 
    } 
}); 

jQuery的开始日期和结束日期验证错误

如果我用这个逻辑, 它不会当我拿起日期从日期选择器, 如果我在文本框中手动写的日期工作这个逻辑正在起作用。 任何人都可以解决这个问题。

+0

[在此偷看(http://*.com/questions/492994/compare-two-dates-with-javascript) –

+0

如果您使用的是jQuery Datepicker,请使用'$(selector).datepicker(“getDate”)'获取选定的日期。 – Barmar

您可以使用$ .datepicker来获取日期。 如果您使用datepicker选择日期,则将其解析为文本可能不是最好的方法。

$(selector).datepicker(“getDate”)将返回一个实际的时间对象。

你的情况:

if ($("#StartDate").datepicker("getDate") >= $("#EndDate").datepicker("getDate")) { 
 
    alert("End date should be greater than Start date"); 
 
    $("#EndDate").val(""); 
 
}

这是一个工作示例:https://jsfiddle.net/1qo9be6s/

+0

$( “#addvalidations”)。点击(函数(){\t \t \t \t \t \t \t \t \t \t如果($( “#txtFromDate”)。日期选择器( “GETDATE”)> = $( “#txtToDate” ).datepicker( “GETDATE”)){ \t \t \t \t \t \t警报( “结束日期应比开始日期”); \t \t \t \t \t \t $( “#txtToDate”)VAL( “” ); \t \t \t \t \t \t} \t \t \t \t \t \t}); – Dpu

+0

此逻辑不起作用。 – Dpu

+0

下面是一个工作示例:https://jsfiddle.net/1qo9be6s/ – Nomenator