Как дезактивировать ранг даты datepicker jquery начиная с даты начала и конца

Я консультировался в сети, но не нахожу ничего, что помогало бы мне связывать код PHP с языком сценариев JavaScript, чтобы выводить ранг даты из строя, в которых не доступна комната, консультировавший с MySQL.

Это - то, что у меня есть даже сейчас

var disableddates = ["12-3-2016", "12-11-2016", "12-25-2016", "12-20-2016"];

  function DisableSpecificDates(date) {

   var m = date.getMonth();
   var d = date.getDate();
   var y = date.getFullYear();
   var currentdate = (m + 1) + '-' + d + '-' + y ;

   for (var i = 0; i < disableddates.length; i++) {


   if ($.inArray(currentdate, disableddates) != -1 ) {
   return [false];
   } 
   }

   return disableddates;
  }

  $(function() {
   $( "#datepicker").datepicker({
   beforeShowDay: DisableSpecificDates
   });
});

Однако этот код - для специфических дат не для интервала, например моя дата прибытия - 28/12/2016 и моя дата вывода - 31/12/2016, мне нужно, чтобы они были блокированы в эти три дня с только интервалом.

2
задан 13.01.2017, 05:53
0 ответов

выводить ранг даты из строя, в которых не доступна комната

То, что ты должен делать, первое возвращать даты и сохранять в переменных язык сценариев JavaScript:

var arrivalDate = moment("<?=$llegada?>", 'DD-MM-YYYY');
var departureDate = moment("<?=$salida?>", 'DD-MM-YYYY');

Секунда, ты должен получать ранг дат между датой прибытия и вывода. Для ésto я рекомендую тебя используй moment.

function getDatesBetween(start, end) {
  var dates = [];
  start.add(1, 'days'); // empezamos a contar 1 día después
  while (start < end) {
    dates.push(start.format('DD-MM-YYYY').toString());
    start.add(1, 'days');
  }
  return dates;
}

Однажды сделанный ésto, ты должен создавать функцию, которая проверяла бы, если настоящая дата включена между датами, которые нужно выводить из строя. Это необходимо, чтобы дезактивировать эти даты UI.

function beforeShowDay(date) {
    if (!disabledDates.length) {
    disabledDates = getDatesBetween(arrivalDate, departureDate);
  }
  var currentDate = moment(date).format('DD-MM-YYYY');
  return [disabledDates.indexOf(currentDate.toString()) == -1];
}

Fiddle Demo

1
ответ дан 03.12.2019, 17:57
  • 1
    guzgarcia услышь мне кажется, что это очень хорошая эта идея, которую ты даешь мне, я протестирую осуществлять это, скажу тебе, решаю ли я это –  31.12.2016, 02:42
  • 2
    @lucho, если этот ответ ayudó чтобы решать проблему твоего вопроса, пожалуйста считай принимать кликая в вњ” пёЏ , что está под стрелами votació n, слева от той же самой (на тебя не делает скидку ничто поэтому - все противоположность, оба извлекают пользу). Уже ты напечатал другие 2 вопроса má s в тех, которые ему не далеко следование –  13.01.2017, 05:50
  • 3
    fiddle уже не está доступный! –  28.05.2019, 02:09