我同意使用moment.js
。但是,如果你出於某種原因不想或不能,這裏是你的小提琴的解決方案。
http://jsfiddle.net/jonofan/YdeY8/483/
$('.datepicker').on('change', function() {
var fromParts = $('#CheckInDate').val().split('-');
var toParts = $('#CheckOutDate').val().split('-');
//please put attention to the month (parts[0]), Javascript counts months from 0:
// January - 0, February - 1, etc
var fromDate = new Date(fromParts[2],fromParts[0]-1,fromParts[1]);
var toDate = new Date(toParts[2],toParts[0]-1,toParts[1]);
if (fromDate >= toDate) {
alert('Check in must be before check out!')
}
})
必須拆分你的約會對象成部分原因是因爲的JavaScript Date()
對象只分析特定的格式,你不能自定義格式。這就是爲什麼使用像moment.js
這樣的庫很好,因爲它可以非常靈活地處理所有事情。
根據經驗,如果要更改日期格式,使用字符串拆分來分析日期會變得有問題。假設在6個月內想要將日期從dd-mm-yy
更改爲dd/mm/yy
;你將不得不去更新你的字符串拆分代碼。
感謝您的回覆。有沒有辦法把checkInDate.datepicker和checkOutDate.datepicker函數放在.datepicker函數中。因爲我需要通過類名訪問控制字段,而不是通過控制名。 – Ammu
@Ammu你當然可以通過'$('。datepicker')訪問它們,但是你需要知道哪些是簽入,哪些是簽出。爲此,我認爲你可能仍然需要IDS。感謝您是否可以'標記爲答案',如果這是有用的。 – jonofan