2014-09-30 45 views
0

我有一個.datepicker()使用jQuery UI創建的,現在我想這樣做:禁用整個星期datapicker

  1. 禁用所有周末和節假日,
  2. 禁用整個一週一次用戶選擇一週中的一天。說用戶選擇星期二,2014年9月23日,然後日期選擇器應禁用星期一,2014年9月22日 - 星期日,09/28/2014。

我正在考慮beforeShowDayonSelect函數,但我不知道如何將我的需求結合在一起。

一些代碼,可以幫助:

$("#datepicker").datepicker({ 
    showOn: "button", 
    buttonImage: "/painstorder/jquery-ui/images/calendar.gif", 
    buttonImageOnly: true, 
    minDate: "dateToday", 
    maxDate: new Date(2016, 2, 6),  
    buttonText: "Select date", 
    dateFormat: "DD, d MM, yy", 
    beforeShowDay: $.datepicker.noWeekends 
}); 
+0

你有正確的思維,但什麼你有沒有嘗試過? 您可以創建一個函數來檢查所選日期並在'beforeShowDay'上返回true/false。 這將幫助你開始:http://api.jqueryui.com/datepicker/#option-beforeShowDay https://github.com/jquery/jquery-ui/blob/5ddc7cd4d325a78e6dae3b7fbdc6313294a6d637/ui/datepicker.js #L1072 – rcdmk 2014-09-30 18:53:46

+0

你想在同一日期選擇器上禁用整個星期後?因此,當用戶想要更改同一日期選擇器上的日期時,他將無法選擇這些日期(以前禁用)? – 2014-09-30 19:46:25

+0

@BojanPetkovski好點。但是隻是說如果我想這樣做呢?有什麼建議麼? – 2014-09-30 19:50:05

回答

0

在這裏,你是一個工作示例http://jsfiddle.net/L25d7Lzy/1/

$("#datepicker").datepicker({ 
    minDate: "dateToday", 
    maxDate: new Date(2016, 2, 6),  
    buttonText: "Select date", 
    dateFormat: "DD, d MM, yy", 

    beforeShow: function() { 
     if ($('#datepicker').val()) { 
      var thedate = new Date($('#datepicker').val()); 
      var minDate = new Date(thedate.setDate(thedate.getDate() + 7)); 
      $('#datepicker').datepicker("option", "minDate", minDate); 
     } 
    }, 
    beforeShowDay: $.datepicker.noWeekends, 
}); 

你可以將它修改爲您的需求:)

+0

謝謝!但是我想在選定的日期所在的那一週停用。這會欺騙我。 – 2014-09-30 20:14:05

相關問題