2016-07-31 3 views
1

У меня есть два datepickers 1-fromDate и 2-toDate, я хочу, если я выбираю month/anydate/year in fromDate, то datepicker toDate устанавливается на nextmonth/anydate/year и отключает предыдущие даты ,как отключить предыдущий выбранный месяц в datepicker

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

этот код отключив дней не месяц

+0

Вы имеете в виду пример, который у них есть на странице даты jQuery UI datepicker? https://jqueryui.com/datepicker/#date-range – j08691

+0

@ j08691 Нет, он будет выглядеть примерно так, как в этом примере, но мне нужно отключить весь месяц http://stackoverflow.com/questions/31204306/ disable-previous-date-of-a-datepicker-согласно-selected-date-in-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 для даты, отключает ее и отображается как greyed.

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

Если это помогает.

Смежные вопросы