Отключение DatePicker для пользовательского интерфейса jQuery при вызове AJAX - PullRequest
0 голосов
/ 08 марта 2011

Я пытаюсь отключить встроенный указатель даты, используя метод .datepicker('disable'), когда вызывается функция обратного вызова onChangeMonthYear.
Эта функция выполняет вызов AJAX (для извлечения дат) и включает средство выбора даты после успешного завершения.

К сожалению, .datepicker('disable') никогда не происходит ...

По-видимому, после некоторого глубокого копания в Firebug вызывается внутренний _disableDatepicker, но класс hasDatePicker никогда не обнаруживается, и поэтому функция возвращается рано.

Я инкапсулировал функции обратного вызова в глобальном объекте, но это, похоже, не влияет на поведение моего кода.

onChangeMonthYear имеет третий параметр, inst, который должен ссылаться на элемент datepicker. Поэтому я должен получить к нему доступ через $(inst) звонок.

Вы найдете полный код на http://jsbin.com/ahano4/6/edit

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

Разве вам не нужно вызывать / отключать фактический элемент, на который вы пытаетесь повлиять?

0 голосов
/ 08 марта 2011

Вот ваша getEventsForDate функция с некоторым удаленным кодом.

this.getEventsForDate = function(year, month, inst) {
    ...
    $(inst).datepicker('disable');
    ...
};

А вот ваш код, который запускается после загрузки DOM

$(function() {
    var date = new Date();
    Calendar.getEventsForDate(date.getFullYear(), date.getMonth()+1, {});
    ...
});

Выпередача пустого объекта {} в функцию в качестве третьего параметра и затем вызов функции .datepicker() для него.Это явно не принесет ничего полезного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...