1

Я добавил некоторые события в календарь datepicker ui (назначенный div, чтобы он всегда был виден) с определенным заголовком. При нажатии на любую из этих специальных дат я хочу показать всплывающее окно с названием события выше дня.datepicker-ui click on date display popup

var Event = function(text, className) { 
this.text = text; 
this.className = className; }; 

var events = {}; 
events[new Date("02/07/2014")] = new Event("Event01", "highlight"); 

events[new Date("02/26/2014")] = new Event("Event02", "highlight"); 
events[new Date("02/27/2014")] = new Event("Event02", "highlight"); 



$("#datepicker").datepicker({ 
    beforeShowDay: function(date) { 
     var event = events[date]; 
     if (event) { 
      return [true, event.className, event.text]; 
     } 
     else { 
      return [true, '', '']; 
     } 
    }}); 

http://jsfiddle.net/saisoto/A5mew/

Я думаю, что это что-то делать с onSelect, но я понятия не имею о том, как расположить всплывающее окно выше даты.

Я могу добавить, что я не хочу оповещения всплывают на странице и заставить людей нажмите принять (или закрыть), чтобы позволить им продолжать взаимодействовать со страницей

ответ

0

Вы можете использовать onSelect, если выбранная дата - специальная дата, показывающая предупреждение (или что-то еще).

Вызывается, когда выбрана датапикер. Функция принимает выбранную дату как текст и экземпляр datepicker в качестве параметров. это относится к соответствующему полю ввода.

Код:

$("#datepicker").datepicker({ 
    beforeShowDay: function (date) { 
     var event = events[date]; 
     if (event) { 
      return [true, event.className, event.text]; 
     } else { 
      return [true, '', '']; 
     } 
    }, 
    onSelect: function (date) { 
     var event = events[new Date(date)]; 
     if (event) { 
      alert(event.text) 
     } 
    } 
}); 

Демо: http://jsfiddle.net/IrvinDominin/ajMS6/

+0

На первый я использую, но это похоже, что есть какая-то ошибка на странице, и я не хочу, чтобы оповещения, чтобы остановить взаимодействие со страницей, пока вы ее не закроете или не примете. Спасибо за невероятный быстрый ответ. – saisoto

+0

@saisoto добро пожаловать! Итак, вы хотите показать немодульное всплывающее окно и позволить календарю выбрать дату и закрыть? Или показать текст события в поле рядом с подборщиком даты? –

+0

@saisoto что-то вроде: http://jsfiddle.net/IrvinDominin/ajMS6/1/ –