datepicker: отключить дни с помощью раскрывающегося списка?

У меня есть выпадающий список, который выглядит так:

   <span id="billet">
      <select id="test">

          <option value="Option1">Option1</option>
          <option value="Option2">Option2</option>

       </select>
   </span>

И такой ввод:

   <input type="text" class="datepicker" />

Выбрав «option1», я хотел бы отключить от датпикеров выходные дни.

Выбрав «option2», я хотел бы повторно активировать все дни с датпикеров.

Вот мой JS:

$("#billet").on('change', 'select', function() { 
    	if($('#test').val() == 'Option1') {
    		$('.datepicker').datepicker({
    			beforeShowDay: $.datepicker.noWeekends
    		});
    	}
    	else {
    		$('.datepicker').datepicker();
    	}
    });

Примечание. Я использую "span", чтобы обвести свой выбор, потому что этот раскрывающийся список динамически создается Ajax / PHP.


person Ed57    schedule 09.07.2015    source источник


Ответы (2)


Вот вам: надо его уничтожить.

$("#test").change(function() {
  // remove destroy datepicker
  $('.datepicker').datepicker("destroy");
  if ($('#test').val() == 'Option1') {
    $('.datepicker').datepicker({
      beforeShowDay: $.datepicker.noWeekends
    });
  } else {
    $('.datepicker').datepicker();
  }
});
$("#test").trigger('change');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

<span id="billet">
      <select id="test">

          <option value="Option1">Option1</option>
          <option value="Option2">Option2</option>

       </select>
   </span>

<input type="text" class="datepicker" />

См .: Как * полностью * удалить средство выбора даты пользовательского интерфейса jQuery?

Надеюсь это поможет.

person hungndv    schedule 09.07.2015
comment
Вы снова должны уничтожить datepicker, выбрав option 1 второй раз. - person Nagaraj S; 09.07.2015

Использовать это :

  $("#billet").on('change', function () {
                if ($('#test').val() == 'Option1') {
                    $('.datepicker').datepicker('option','beforeShowDay', $.datepicker.noWeekends);
                }
                else {
                    $('.datepicker').datepicker();
                }
            });

Спасибо :)

person Hemant Bhagat    schedule 09.07.2015