2013-09-28 3 views
0

Я использую fullCalendar с загрузочными popovers. Цель состоит в том, чтобы добавить форму для добавления нового события внутри popovers. Код делает popover выше над ячейками, однако при нажатии на popovers ячейки под ним выбираются, а не сами popovers.bootstrap popover находится под ячейками в fullCalendar?

Вот мой код:

$(document).ready(function() { 

    var date = new Date(); 
    var d = date.getDate(); 
    var m = date.getMonth(); 
    var y = date.getFullYear(); 
    var calendar = $('#calendar').fullCalendar({ 
     height: height, 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,agendaWeek,agendaDay' 
     }, 
     dayClick: function(date, allDay, jsEvent, view){ 
      if (view.name=='month'){ 
      $(this).children().popover({ 
     placement: 'right', 
     content: function() {return $("#popover-content").html();}, 
html : true, container: 'body' 
    }); 
    $('.popover.in').remove(); 
    $(this).children().popover('show'); 
.......... 

и HTML

<div id="popover-content" class="hide"> 
<form> 
    <input id="easyeventtitle" /> 
    </form> 
</div> 

This is how it looks like

Я попытался z-index к Popovers, вместо этого, они не появляются на всех!

Пожалуйста, помогите! Спасибо за ваше время!

Edit: here is the link to test it

+0

не в состоянии воспроизвести проблему здесь? http://jsfiddle.net/N4vBU/ – PSL

+0

@PSL Я установил ссылку на свою страницу. на jsfiddle есть дополнительная проблема, хотя я могу выбрать popovers, триггеры, т. е. ячейки таблицы могут только запускать popovers один раз. После отмены выбора, выбирая результат, элементы таблицы будут мигать, а не появляться. – user2363192

+1

Почему вы добавляете его к этому td, что происходит, когда вы предоставляете 'container: 'body'' для popover, подобный этому http://jsfiddle.net/QCGj2/ Поскольку вы добавляете его в td. клик на всплывающих пузырях до события клика на td, который является полным кликом, и он создал popover для другой ячейки. – PSL

ответ

6

Попробуйте этот код

$(document).ready(function() { 
    $('#calendar').fullCalendar({   
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay', 
    }, 
    events: '/events.json', 
    editable: true, 
    selectable: true, 
    dayClick: function(start, end, allDay, jsEvent, view) {    
    $(this).popover({ 
       html: true, 
       placement: 'right', 
       title: function() { 
        return $("#popover-head").html(); 
       }, 
       content: function() { 
        return $("#popover-content").html(); 
       }, 
       html: true, 
       container: 'body' 
      }); 
    $(this).popover('toggle'); 
    }  
}); 
}); 
+0

Спасибо, что работает для меня. Вы сохраняете мой день :) – SSR

+0

Ну, на самом деле это не работает должным образом. Событие, если я поместил атрибут tabindex = ".." для совместимости с кросс-браузером (http://getbootstrap.com/javascript/#popovers), левый клик не работает, показывается только с правым щелчком. К сожалению, пока я не нашел другого решения, но чтобы «имитировать» «другие» клики, вызывая уничтожение всех popovers при нажатии кнопки body. –

+0

Если вы можете показать мне свой скрипт, чем я могу вам помочь. – akshay

Смежные вопросы