Дата начала не должна быть больше даты окончания jquery php

У меня есть два средства выбора даты, я хочу, чтобы дата начала не превышала дату окончания или дату окончания. меньше даты начала с использованием jquery, Я пробовал со следующим кодом, но у меня не работает, как я могу это сделать?

<script>
$(function() {  
      $( "#to" ).datepicker({   
      defaultDate: "",
         maxDate:"+0d",
      changeMonth: false,   
      numberOfMonths: 1,  
      onClose: function( selectedDate ) {  
        $( "#from" ).datepicker( "option", "minDate" ,selectedDate ); 
      }  
    });  

  });  
 </script>

<script>
$(function() {  
      $( "#from" ).datepicker({  

      defaultDate: "",
         maxDate:"+0d",
      changeMonth: false,   
      numberOfMonths: 1,  
      onClose: function( selectedDate ) {  
        $( "#to" ).datepicker( "option", "maxDate" ,selectedDate ); 
       }  
    });  

  });  
 </script>

Вы должны быть более точны в отношении «у меня не работает», выдает ли это ошибки? что он делает такого, чего вы не ожидали?

Kaddath 14.03.2019 09:28

добавьте обратный вызов onSelect : function(date) к параметрам, там вытащите дату из другого средства выбора даты, если это не то, что вы хотите, верните false. Думаю, я должен был прочитать эту дублирующую ссылку, в основном то, что я сказал.

ArtisticPhoenix 14.03.2019 09:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
144
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать событие onSelect

$(function() {
  $("#from").datepicker({
    defaultDate: "",
    maxDate: "+0d",
    changeMonth: false,
    numberOfMonths: 1,

    onSelect: function(selected) {
      $("#to").datepicker("option", "minDate", selected)
    }
  });

  $("#to").datepicker({
    defaultDate: "",
    maxDate: "+0d",
    changeMonth: false,
    numberOfMonths: 1,

    onSelect: function(selected) {
      $("#from").datepicker("option", "maxDate", selected)
    }
  });
});
<link rel = "stylesheet" href = "//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src = "https://code.jquery.com/jquery-1.12.4.js"></script>
<script src = "https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input type = "text" id = "from" />
<input type = "text" id = "to" />

@ArtisticPhoenix, что ты имеешь в виду, убить выделение? у меня работает (Файрфокс)

Kaddath 14.03.2019 09:35

Возможно, это был мой браузер. одна проблема заключается в том, что если вы выберете March 1 во втором поле, а затем удалите его, ваше первое поле будет заблокировано с максимальным значением March 1. Поэтому вам нужно вернуться ко второму, выбрать более крупную дату, а затем перейти к редактированию первого. Вероятно, вы можете использовать blur, чтобы проверить, пусто ли поле, и сбросить его до текущей даты, чтобы исправить это. Это небольшое раздражение. Что-то вроде этого: $("#to").blur(function(){ if ($(this).val() == '') $("#from").datepicker("option", "maxDate", 0); });

ArtisticPhoenix 14.03.2019 09:57

Другие вопросы по теме