У меня есть довольно сложное веб-приложение, которое я хотел бы добавить. некоторый пользовательский интерфейс для выбора даты.
Проблема, с которой я столкнулся, заключается в том, что я не смог выяснить из документации, как на самом деле взять под контроль то, как и когда появляется средство выбора даты. Элементы формы не задействованы (и нет, я не собираюсь добавлять секретное поле формы), поэтому простой готовый подход просто не сработает.
Я надеюсь, что кто-нибудь может дать небольшое руководство по шаблону, который позволит мне программно вызывать средство выбора даты. Я думаю, что знаю, как использовать пользовательские события средства выбора даты для его инициализации и позиционирования, а также для восстановления выбранного значения, когда пользователь отклоняет его. Мне просто трудно создать экземпляр средства выбора даты, так как я не связываю его с элементом.
Вот что не работает:
function doThing(sCurrent, event) { // sCurrent is the current value; event is an event I'm using for positioning information only
var bIsDate = !isNaN( (new Date(sCurrent)).getTime() );
jQuery.datepicker('dialog',
(bIsDate ? new Date(sOriginal) : new Date()), // date
function() { console.log('user picked a date'); }, // onSelect
null, // settings (i haz none)
event // position
);
}
Причина в том, что "jQuery.datepicker" не является функцией. (Я делаю это неправильно.)
Я не сторонник «диалогового» подхода — я просто предположил, что вызываю его без ссылки на элемент формы.
Я использую jQuery 1.4.3 и jQueryUI 1.8.6