2014-09-30 161 views
-1

我有一個ID爲myDate的輸入框,我希望用戶在2014年11月11日之前輸入日期,而不是在2014年12月30日之後輸入日期。我也希望從當前日期起提前2周通知。JQuery datepicker範圍和開始日期

  • 如果用戶來到註冊於10/28可選擇應該是11/12-12/30
  • 如果用戶來到註冊於10/30可選擇應該是11/14-12/30
  • 如果用戶來註冊今天選擇的應該是11/01-12/30
  • 如果用戶來註冊在11/16可選擇的應該是11/30-12/30
$("#myDate").datepicker({ 
    setDate: '11/01/2014', 
    minDate: 14, 
    maxDate: '12/30/2014', 
    beforeShowDay: $.datepicker.noWeekends 
}); 

但你可以看到它不起作用。設定的日期不起作用,只從當前日期開始,並提前14天提前申請。

+1

到底是什麼問題? – Scimonster 2014-09-30 17:32:52

+0

設置日期不起作用。 – NoviceDeveloper 2014-09-30 17:42:47

+1

我不能相信這讓選票爲什麼? – NoviceDeveloper 2014-09-30 17:47:06

回答

1

以及沒有得到任何人回答這個問題。我想出了我自己的。

希望這有助於像我這樣......

$(function() { 
    var now = new Date(); 
    if (now >= Date.parse('11/01/2014')) { 
     $('#dateFrom').datepicker({ 
      minDate: 14, 
      maxDate: '12/30/2014', 
      beforeShowDay: $.datepicker.noWeekends 
     }); 
    } else { 

     var dtDate1 = '11/01/2014' 
     var dtDate2 = dtDate1.replace(/-/g, '/') 
     var nDifference = Math.abs(new Date() - new Date(dtDate2)); 
     var one_day = 1000 * 60 * 60 * 24; 
     var days = Math.round(nDifference/one_day); 

     if (Math.round(nDifference/one_day >= 14)) { 
      $('#dateFrom').datepicker({ 
       minDate: '11/01/2014', 
       maxDate: '12/30/2014', 
       beforeShowDay: $.datepicker.noWeekends 
      }); 
     } 
     else 
      if (Math.round(nDifference/one_day < 14)) { 
      $('#dateFrom').datepicker({ 
       minDate: days, 
       maxDate: '12/30/2014', 
       beforeShowDay: $.datepicker.noWeekends 
      }); 
     } 
    } 
}) 
0

不幸的是,我想你將不得不編寫自己的自定義函數來計算高級通知片段。我認爲這超出了jQuery Datepicker的功能。另外,如果你希望你的用戶在11-1之前不選擇一個日期,爲什麼不把11-1作爲你的minDate?

+0

這是怎麼完成的? – NoviceDeveloper 2014-09-30 19:21:18

+0

這是通過編寫自己的自定義javascript來完成的,例如函數dateAdvance(){...自定義代碼},以便您可以開始的示例。否則,您可以將您的分鐘日期設置爲'11/01/2014',並將您的maxDate設置爲'12/30/2014',以設置他們可以選擇的特定日期範圍。 – jatwater 2014-09-30 21:03:45

+0

這不是我正在尋找的答案,不能說你回答。上面看我的解決方案。 – NoviceDeveloper 2014-10-02 12:40:45

相關問題