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 = "";
}
});
如果我用这个逻辑, 它不会当我拿起日期从日期选择器, 如果我在文本框中手动写的日期工作这个逻辑正在起作用。 任何人都可以解决这个问题。
您可以使用$ .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/
$( “#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
此逻辑不起作用。 – Dpu
下面是一个工作示例:https://jsfiddle.net/1qo9be6s/ – Nomenator
[在此偷看(http://stackoverflow.com/questions/492994/compare-two-dates-with-javascript) –
如果您使用的是jQuery Datepicker,请使用'$(selector).datepicker(“getDate”)'获取选定的日期。 – Barmar