В настоящее время я работаю над проектом, где мне нужно использовать jQuery datepicker. Все работает красиво, за исключением одного требования ... пользователь должен иметь возможность вводить «smartdate». Умная дата - это сокращенный синтаксис, позволяющий легко генерировать дату Х количество дней в будущем или в прошлом. Синтаксис ввода даты - знак плюса (+) или минус (-), за которым следует целое число, представляющее количество дней с сегодняшнего дня. Я уже установил флаг constrainInput
в моей конфигурации datepicker, чтобы пользователь мог вводить знаки. Моя проблема заключается в следующем: в каждом экземпляре введенного числового символа я хочу, чтобы календарь обновлялся, чтобы отображать текущий «выбранный» день, но в тот момент, когда вы используете операцию setDate, datepicker берет на себя управление вводом и изменяет текст, который вводит пользователь. Я углубился в исходный код немного и нашел, что метод _setDate не имеет второй параметр, называемый noChange
, но передавая флаг следующим образом имеет никакого эффекта:Обновление пользовательского интерфейса jQuery Datepicker без изменения связанного ввода
$ele.datepicker('setDate', date, true);
Я не знаком достаточно с различными уровни абстракции, которые пользовательский интерфейс jQuery и плагин datepicker сами выбрасывают вокруг этого компонента, поэтому мне очень сложно разработать решение, не затрачивая слишком много времени на копирование исходного кода.
Есть ли кто-нибудь, кто может предложить мне немного помощи? Это будет высоко ценится!
И для тех, кто хотел бы видеть некоторый код, вы можете проверить мой codepen здесь: 'Smart Date Module'
Второй вход является входом пользователя, первый из них является модель подложки в нем Угловое.
Это именно тот тип функциональности, который я ищу. Я не понимал, что «ответ» будет таким простым. Я поставил ответ в кавычки, потому что я все еще чувствую, что он немного взломан, но, думая об этом больше, я не вижу никаких долгосрочных проблем. Я думаю, что меня беспокоил цикл обратной связи, но поскольку установка значения входа не вызывает событие изменения, оно работает. Иди цифра! Спасибо за вашу помощь! – THEtheChad