установить дату по умолчанию в datepicker только по вторникам и средам?

У меня есть датпикер, который отключил все прошлые дни, и все дни, кроме вторников и средов, были отключены.

Я бы хотел, чтобы день по умолчанию был днем, включенным frist. Если это вторник, тогда он должен отображать вторник, Если среда, затем среда. В любой другой день он должен отображать следующий вторник в поле ввода.

Это код, который я использую для datepicker.

<script type="text/javascript"> $(document).ready(function(){ $( ".datepicker" ).datepicker({ minDate:'0', changeMonth:true, changeYear:true, beforeShowDay: function(dt) { return [dt.getDay() === 2 || dt.getDay() === 3, ""]; }}); }); </script> 

И ввод, который я использую селектор:

 <form method="POST"> <div style='margin:0 auto; text-align:center;'> <label>Appointment Date: </label> <input type="hidden" name="action" value="list_appointments" /> <input type="text" id="datepicker" name="date" class="datepicker" /> <!--value=--><?php #echo date_format(new DateTime("now",new DateTimeZone('America/Chicago')),'m/d/Y');?> <input type="submit" value="Refresh List" name="Update" /> <br /> </div> </form> 

Вы можете использовать momentjs, чтобы упростить получение следующего дня недели, а затем просто иметь инструкцию if-else, чтобы получить правильный день недели:

  function setDate() { var today = moment().isoWeekday(); //or just = new Date().getDay(); if (today <= 2) { return moment().isoWeekday(2); } else if (today === 3) { return moment().isoWeekday(3); } else { return moment().add(1, 'weeks').isoWeekday(2); } } 

setDate() функцию setDate() и установите это возвращаемое значение как дату в datepicker.

  $('.datepicker').datepicker("setDate", new Date(setDate())); 

Вот рабочий пример: https://jsfiddle.net/jutcw0ve/