2016-07-31 26 views
1

我有兩個datepickers 1-fromDate和2-toDate我想如果我從fromDate中選擇month/anydate/year然後toDate datepicker設置爲nextmonth/anydate/year並禁用以前的日期。如何禁用datepicker中的前一個選定的月份

$("#fromDate").datepicker({ 
     maxDate: 0, 
     onSelect: function (date) { 
$("#toDate").datepicker('option', 'minDate', date); 
     } 
    }); 
$("#toDate").datepicker({ 
     maxDate: '0' 
    }); 

這段代碼是禁用的日子不是一個月

+0

你的意思就像他們在jQuery UI日期選取器頁面上的例子? https://jqueryui.com/datepicker/#date-range – j08691

+0

@ j08691不,它會在這個鏈接看起來像這個例子,但我需要禁用整個月http://stackoverflow.com/questions/31204306/禁用日期選擇日期選擇日期在JavaScript中# – Mhmd

+0

運行代碼段並查看結果。 – Mhmd

回答

0

試試這個

$(function() 
    { 
     var dateFormat = "mm/dd/yy", 
     from = $("#from") 
     .datepicker 
     ({ 
      changeMonth: true, 
      numberOfMonths: 1 
     }) 
     .on("change", function() 
     { 
      to.datepicker("option", "minDate", getDate(this)); 
     }), 
     to = $("#to").datepicker({ 
      changeMonth: true, 
      numberOfMonths: 1 
     }) 
     .on("change", function() 
     { 
      from.datepicker("option", "maxDate", getDate(this)); 
     }); 

     function getDate(element) 
     { 
      var date; 
      try 
      { 
       date = $.datepicker.parseDate(dateFormat, element.value); 
      } 
      catch(error) 
      { 
       date = null; 
      } 
      return date; 
     } 
    }); 
+0

仍然是相同的結果,禁用天數沒有月份 – Mhmd

0

一旦使用beforeShowDay和ONSELECT之前日曆是禁用已選定的日期

beforeShowDay運行渲染。 ONSELECT用戶後運行選擇日期

使一個數組來存儲所選擇的日期,當用戶選擇的日期將其推入陣列和beforeShowDay回調接收日期參數一個月的所有天

beforeShowDay: function(date){ 
... 
//check date 
} 

onSelect: function(date) { 
... 
//date is user selected value save it for future comparison 
}, 

所以你可以在那裏放置條件檢查數組中的日期返回false爲一個日期使其禁用和顯示爲灰色。

https://jsfiddle.net/0g1atvm1/3/

如果有幫助。

相關問題