2016-10-26 3 views
5

Я использую jQuery multi datepicker в своем html. Мне нужно изменить свойство настройки датпикера динамически, т. Е. Когда я выбираю «нормальный» вариант в поле выбора, я отключу «субботу» и «воскресенье» в своем календаре, и когда я выберу «пользовательский» вариант в поле выбора, я отключу мои пользовательские дни. Я не знаю, как указать в моем коде. Это мой кодДинамически добавить jQuery multidatepicker "addDisabledDates" свойство

$('#datePick').multiDatesPicker({ 
    beforeShowDay: disableSpecificWeekDays, 
    // For disabling all "Sundays" 
    dateFormat: "d/m/yy", 
    maxDate: "+3m", 
    minDate: "-1m", 
    multidate: true, 
    addDisabledDates: my_array 
}); 

    function disableSpecificWeekDays(date) { 
    var theday = date.getDate() + '/' +(date.getMonth() + 1) + '/' + 
     date.getFullYear(); 
    var day = date.getDay(); 
    return [day != 0 && day != 6]; 
} 

Пожалуйста, любой один помочь мне поставить его?

+0

Почему вы не просто проверить значение вашего выпадающего меню в disableSpecificWeekDays() метод? Если это «нормально», то просто верните [true] –

+0

@John: Могу ли я использовать метод измененного значения в поле disableSpecificWeekDays()? Является ли настройка даты для даты инициализации после изменения значения флажка? –

ответ

2

Если у вас есть выпадающий список, как это:

<select id="my-dropdown"> 
    <option value="normal">normal</option> 
    <option value="custom">custom</option> 
</select> 

Тогда все, что вам нужно сделать, это:

function disableSpecificWeekDays(date) { 
    if ($('#my-dropdown').val() == 'normal') { 
     return [true]; 
    } 
    var theday = date.getDate() + '/' + (date.getMonth() + 1) + '/' + 
     date.getFullYear(); 
    var day = date.getDay(); 
    return [day != 0 && day != 6]; 
}