2016-10-26 91 views
5

html'de jQuery çoklu datepicker kullanıyorum. Tarih seçici ayar özelliğini dinamik olarak değiştirmem gerekiyor, örneğin "normal" bir seçenek seçtiğimde, takvimimdeki "Cumartesi" ve "Pazar" ı devre dışı bırakacağım ve seçim kutusunda "özel" bir seçenek belirlediğimde devre dışı bırakacağım benim özel günlerim. Kodumda nasıl belirteceğimi bilmiyorum. BuDinamik olarak jQuery multidatepicker "addDisabledDates" özelliğini ekleyin

$('#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]; 
} 

herhangi biri yerleştirmek için bana yardım edin benim kodudur?

+0

Neden sadece disableSpecificWeekDays içinde açılan değerini kontrol etmiyoruz() yöntem? Eğer "normal" ise o zaman sadece [true] –

+0

@John: disableSpecificWeekDays() yönteminde seçili kutu değeri değiştirilmiş yöntemi kullanabilir miyim? Tarih kutusu ayarı, onay kutusu değerini değiştirdikten sonra yeniden başlatılıyor mu? –

cevap

2

sahip varsayarsak böyle bir açılan:

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

Bundan sonra yapmanız gereken tek şey:

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]; 
}