2015-04-06 185 views
0
$("#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://stackoverflow.com/questions/492994/compare-two-dates-with-javascript) –

+0

如果您使用的是jQuery Datepicker,請使用'$(selector).datepicker(「getDate」)'獲取選定的日期。 – Barmar

回答

0

您可以使用$ .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

相關問題