JQuery UI DatePicker с всплывающей подсказки - функция всплывающей подсказки не вызывать после изменения месяца - PullRequest
1 голос
/ 04 апреля 2011

Я пытаюсь заставить работать с всплывающей подсказкой jquery ui datepicker (встроенный как календарь). Все работает нормально, всплывающая подсказка показывает, пока я не поменяю месяц в календаре. Затем всплывающая подсказка перестает работать. Я не знаю, как решить эту проблему, и я буду признателен за любую помощь. Ниже мой код (я использовал этот скрипт).

Спасибо!

$(function() {

var specialDays = {
  '2011': {
    '3': {
      '10': {tooltip: "Some event", className: "holiday"}
    },
    '4': {
      '15': {tooltip: "Some another event", className: "holiday"}
    }
  }
};

$('#datepicker').datepicker({beforeShowDay: function(date) {
  var d = date.getDate(),
    m = date.getMonth()+1,
    y = date.getFullYear();

  if (specialDays[y] && specialDays[y][m] && specialDays[y][m][d]) {
    var s = specialDays[y][m][d];
    return [true, s.className, s.tooltip]; // selectable
  }
  return [false,'']; // non-selectable
}});

/* tooltip*/
$(".ui-datepicker-calendar tbody").tooltip();

});

Ответы [ 2 ]

2 голосов
/ 07 июня 2011

Используйте это, у меня это работает:

onChangeMonthYear: function(year, month, inst) {
                            setTimeout("$('.ui-datepicker-calendar tbody').tooltip()", '250');                              
                        }
0 голосов
/ 04 апреля 2011

Оберните функциональность $('#datepicker').datepicker внутри функции.Затем передайте имя этой функции функции всплывающей подсказки в качестве обратного вызова после загрузки всплывающей подсказки.

Причина, по которой ваши события не связаны, заключается в том, что HTML-код меняется. В строке 115 в скрипте всплывающей подсказки есть событие, которое вы можете использовать для обратного вызова:

var initDatepicker = function(){
    $('#datepicker').datepicker({beforeShowDay: function(date) {
        // Your code...
    }});
};

$('.ui-datepicker-calendar tbody').tooltip({
    // On tooltip open, init the datepicker
    open: initDatepicker
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...