2014-12-17 5 views
1

Я хочу отключить определенные дни.Отключить определенные дни недели на jQuery UI datepicker НЕ ВСЕ

Отключить все Tu, Th:

var closedDays = ["2","4"]; 

Я хочу, чтобы включить эту дату массива

var OpenDate = ["23,12,2014","25,12,2014"]; 

23-12-2014 является ТЕМ и 25-12-2014 является TH

jQuery("#jform_date").datepicker({ 
    beforeShowDay: nonWorkingDates, 
    dateFormat: "dd-mm-yy", 
    minDate: 0 
}); 

jQuery("#jform_date").datepicker(); 

function nonWorkingDates(date) { 
    var day = date.getDay(); 
    // Disable all Tu, Th 
    var closedDays = ["2","4"]; 

    // I want enable this date 
    var OpenDate = ["23,12,2014","25,12,2014"]; 

    for (var i = 0; i < closedDays.length; i++) { 
     if (day == closedDays[i][0]) { 
      return [false]; 
     } 
    } 
    return [true]; 
}; 
+0

Нужно ли использовать этот точный формат? '" 23,12,2014 "' – slicedtoad

+0

Весь формат хороший, я использую php – user1672131

ответ

2
function nonWorkingDates(date) { 
    var day = date.getDay(); 
    var year = date.getYear(); 
    var month = date.getMonth()+1; // JS months start at 0 
    var date = date.getDate(); 
    var fullDate = date+','+month+','+year; 
    // Disable all Tu, Th 
    var closedDays = [2, 4]; 
    // I want enable this date 
    var OpenDate = ["23,12,2014", "25,12,2014"]; 
    return [$.inArray(day, closedDays) == -1 || $.inArray(fullDate, OpenDate) != -1]; 
} 

$.inArray() использует строгое сравнение ns, поэтому я изменил элементы ClosedDays от строк до целых чисел.

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