2015-08-29 2 views
2

У меня проблемы с jQuery datepicker. Мне нужно несколько диапазонов для выбора даты. Например, пользователь должен иметь возможность выбирать диапазон между (d-m-y) 1/8/2015 и 5/8/2015. Но также диапазон между: 16/8/2015 по 20/8/2015 (в том же календаре). Даты, которые не соответствуют этим диапазонам, должны быть неактивными. Я в конечном итоге пытается следующий код, но без успеха:jquery datepicker multiple min max дат

$(function() {  
    var ds = array('1-8-2015', '16-8-2015'), 
     de = array('5-8-2015', '20-8-2015'); 

    $('#datepicker').datepicker({ 
     beforeShow: function() { 
      return { 
       dateFormat: 'd-m-yy', 
       minDate: ds,     
       maxDate: de, 

      } 
     } 
    }); 
}); 

JSFiddle пример: JSfiddle

Любые идеи? С уважением, Саймон

+0

Проверьте это: HTTP://stackoverflow.com/questions/7709320/jquery-ui-datepicker-enable-only-specific-days-in-array –

+0

Спасибо за ваш быстрый ответ. Однако мой вопрос немного отличается :) – simon

ответ

2

Ну да .. Вы можете сделать это .. Вы можете сделать использование beforeShowDay варианта datepicker, как показано ниже:

var d1s = new Date(2010, 8, 1), 
    d1e = new Date(2010, 8, 5), 
    d2s = new Date(2010, 8, 16), 
    d2e = new Date(2010, 8, 20); 
$(function() { 
    $("#datepicker").datepicker({ 
    numberOfMonths: 1, 
    beforeShowDay: function(date) { 
     return [(date >= d1s && date <= d1e || date >= d2s && date <= d2e), '']; 
    }, 
    minDate: d1s, 
    maxDate: d2e 
    }); 
});​ 

Source

+0

Невозможно ли определить число переменных? Я забыл упомянуть, что даты динамически генерируются через PHP, поэтому я не знаю, сколько дат существует. Вот почему массив был бы предпочтительнее, если возможно :) – simon

+0

Позвольте мне попытаться изо всех сил удовлетворить ваши требования .. :) –

+0

Отформатированный массив Json был бы приятным :-) – simon