Когда я иду на ваш тестовый сайт, первое, что я замечаю, это то, что при первом щелчке поле поле заполнено правильно, но виджет календаря - нет. Затем во втором клике виджет календаря обновляется (но это может быть только потому, что оно обнаружило новое значение поля даты).
Я бы посмотрел на слушателя, который срабатывает при нажатии Select Today
. Попробуйте добавить команду к этому слушателю, которая обновляет отображение календаря; см., в частности, the #refresh method in the Jquery UI Datepicker API.
EDIT (дополнительные указания):
ИТАК первый вам нужен слушатель, который определяет, когда пользователь нажимает на кнопку Сегодня. Когда я перейду на тестовую страницу (в Chrome), щелкните правой кнопкой мыши на кнопке «Выбрать сегодня» виджета и нажмите «Осмотреть элемент», это покажет мне необработанный HTML-код для этого элемента. Я вижу, что у кнопки есть класс datepicker-current
, который выглядит довольно уникально, поэтому я настрою слушателя для этого класса.
$('.datepicker-current').click(function(){
// we'll do the refresh command inside here
});
Затем нам нужно выяснить, как сообщить виджету обновить себя. В виджетах JQuery UI есть приличная документация, и здесь они кратко объясняют функцию «обновления» с кратким примером. После этого примера, команда обновления будет выглядеть примерно так:
$('.datepicker-current').click(function(){
$((something)).datepicker("refresh");
});
Мы называем это .datepicker
команды на текстовом поле элемента, поэтому мы должны выяснить способ, чтобы выбрать этот элемент. В вашем случае похоже, что в текстовых полях у каждого из них есть класс hasDatepicker
, поэтому я просто выберу все из них и вызову обновление во всех виджетах (независимо от того, видны они сейчас или нет):
$('.datepicker-current').click(function(){
$('.hasDatepicker').datepicker("refresh");
});
Вы можете скопировать & вставьте эти 3 строки прямо в консоль Chrome, чтобы добавить слушателя Jquery на живую страницу, а затем попробуйте сами. Но что-то вроде выше должно выполнить то, о чем вы говорите.
Возможно, вы, возможно, сделали это только с этим последним фрагментом, но я хотел показать вам весь мой мыслительный процесс, чтобы подчеркнуть, что Jquery не является магии, вы просто должны быть готовы продумать элементы HTML и попробуйте выполнить шаг за шагом в консоли Chrome.
Он работает с использованием хром на моем устройстве Android. –
Вы попробовали это на рабочем столе? Кнопка «Сегодня» работает только при двойном щелчке – Leo
Да, это работает, когда я нажимаю один раз на обоих устройствах. –