簡體   English   中英

DatePicker JQuery UI從日期到日期的=>

[英]DatePicker JQuery UI valiadtion to date >= from date

誰能告訴我如何通過類名(即.datepicker )進行驗證

這是一個可以驗證到目前為止的演示示例,其中=> from date

$('.datepicker').datepicker({
changeYear: true,
dateFormat: "dd-mm-yy", 
yearRange: '2006:' + (new Date().getFullYear() +1)
}).datepicker("setDate", "0");

http://jsfiddle.net/sharmilashree/YdeY8/482/

您可以使用momentJS來驗證日期是否早於或等於。
像這樣的簡單代碼:

if(moment(fistDate).isBefore(moment(secondDate)) || moment(firstDate).isSame(moment(secondDate)) {

}

在此示例中,第一個日期表示datetimepicker的值,第二個日期是您想要的日期,因為您從未告訴過它是什么。

我同意使用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 您將必須去更新您的字符串拆分代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM