Могу ли я использовать событие onSelect jQuery UI DatePicker со встроенным средством выбора даты? - PullRequest
0 голосов
/ 03 апреля 2011

Я пытаюсь использовать указатель даты jQuery UI в качестве встроенного календаря.Пользователь щелкает дату в календаре и запускает запрос AJAX, чтобы вернуть данные только от выбранной даты.

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

Вот код, который я использую для выбора даты.

$("div.datepicker").datepicker({
    firstDay: 1,
    beforeShowDay: $.datepicker.noWeekends,
    altField: 'input#datepicker_val',
    onSelect: alert("Select event worked.") // this will be replaced with the ajax function call
});

Выбор датыинициализируется нормально.Он обнаруживается и ведет себя, как и ожидалось, но независимо от того, что я пытаюсь (и я часами искал возможные решения), я не могу получить это предупреждение.Я что-то упустил?

Ответы [ 2 ]

1 голос
/ 03 апреля 2011

Чтобы было понятно, рабочий код, с которым я закончил, приведен ниже.

$("div.datepicker").datepicker({
    firstDay: 1,
    beforeShowDay: $.datepicker.noWeekends,
    altField: 'input#datepicker_val',
    onSelect: function(){
         updateTable("datepicker")
    }
});

Большое спасибо EmCo за его решение и dampe за его ввод.

1 голос
/ 03 апреля 2011

Попробуйте то, что EmCo предложил в своем комментарии.Если это не сработает, вы также можете взломать его, написав свой собственный обработчик событий.Вам нужно будет найти соответствующий селектор, чтобы выбрать дни в календарях, а затем прикрепить к ним ваше событие.

$(Matching_day_selector).live('click', function(){
  // do what you need
});

edit: использование live () может оказаться необходимым;Соответствующий селектор в соответствии с это демо должно быть:

$('.ui-state-default')
...