2015-04-07 3 views
0

Я использую следующий код для ограничения выбора даты до нескольких месяцев с июня по сентябрь:JQuery Datepicker - Ограничить DatePicker на определенный месяц и будни

<script type="text/javascript"> 
jQuery(function ($) { 
     monthArray = [0, 1, 2, 3, 4, 9, 10, 11]; 
     $("#input_5_5").datepicker({ 
      minDate: 1, 
      dateFormat: 'dd/mm/yy', 
      beforeShowDay: function (date) { 
       if ($.inArray(date.getMonth() , monthArray) > -1) { 
      return [false, '']; 
     } 
     function (d) { 
      return [true, '']; 
     } 
    } 
    }); 
}); 
</script> 

Он делает то, что я сделал вид, который отключив все остальные месяцы кроме июня. Теперь, я попытался тонкой настройки так, что он будет показывать только определенные дни недели, используя УАК «дни» и функции:

<script type="text/javascript"> 
jQuery(function ($) { 
     monthArray = [0, 1, 2, 3, 4, 9, 10, 11]; 
     var days = [2, 4, 6]; 
     $("#input_5_5").datepicker({ 
      minDate: 1, 
      dateFormat: 'dd/mm/yy', 
      beforeShowDay: function (date) { 
       if ($.inArray(date.getMonth() , monthArray) > -1) { 
      return [false, '']; 
     } 
     function (d) { 
      return [$.inArray(d.getDay(), days) > -1, '']; 
     } 
    } 
    }); 
}); 
</script> 

Но это не работает. Я пробовал разные способы, но я не могу заставить его работать. Может ли кто-нибудь дать мне руку здесь? Благодаря!

ответ

0

Demo

Вы можете объединить эти два условия,

beforeShowDay: function (date) { 
     return [$.inArray(date.getDay(), days) > -1 && $.inArray(date.getMonth(), monthArray) > -1] 
    } 

jQuery(function ($) { 
    var monthArray = [0, 1, 2, 3, 4, 9, 10, 11]; 
    var days = [2, 4, 6]; 
    $("#input_5_5").datepicker({ 
     minDate: 1, 
     dateFormat: 'dd/mm/yy', 
     beforeShowDay: function (date) { 
      return [$.inArray(date.getDay(), days) > -1 && $.inArray(date.getMonth(), monthArray) > -1] 
     } 
    }); 
}); 
Смежные вопросы