Jquery UI datepicker плагин - Как изменить поле alt? - PullRequest
3 голосов
/ 17 января 2011

У меня есть проблема, когда пользователь изменяет дату непосредственно в поле ввода, поле alt не обновляется.Единственное время обновления поля alt - это когда календарь используется для выбора определенного дня.

Пример кода:

$this
.find('#'+strInputID)
.datepicker({altField: '#alt_'+strInputID, altFormat: 'dd/mm/yy', minDate: new Date()})
.datepicker("setDate" , dDfltDate);

Обратите внимание, что я использую altFormat, потому что поле ввода меняется в зависимости отпри локализации, поэтому я не могу скопировать значение напрямую, когда изменилось входное значение.

Есть ли в Jquery Datepicker что-нибудь, чтобы это разрешить?

Список событий здесь не имеет того, что яwant: http://jqueryui.com/demos/datepicker/

У кого-нибудь есть ответы на то, как это можно исправить?

РЕДАКТИРОВАТЬ: Этот пример http://jqueryui.com/demos/datepicker/#alt-field работает, я нашел другойпример, который не сделал.Поскольку мы используем v1.7.3, а не 1.8.8, я могу предположить, что это может быть проблемой.

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

1 Ответ

2 голосов
/ 17 января 2011

Мне удалось заставить его работать, прикрутив код средства выбора даты 1.8.8 к событию keyup поля ввода, но это не элегантный подход :( Любые другие предложения приветствуются. Спасибо

var inputField = $this.find('#'+strInputID);
inputField.datepicker({altField: '#alt_'+strInputID, altFormat: 'dd/mm/yy', minDate: new Date()}).datepicker("setDate", dDfltDate);
inputField.keyup(function (event) {
    var inst = $.datepicker._getInst(event.target);
    if (inst.input.val() != inst.lastVal) {
        try {
            var date = $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'),
                (inst.input ? inst.input.val() : null),
                $.datepicker._getFormatConfig(inst));
            if (date) { // only if valid
                $.datepicker._setDateFromField(inst);
                $.datepicker._updateAlternate(inst);
                $.datepicker._updateDatepicker(inst);
            }
        }
        catch (event) {
            $.datepicker.log(event);
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...