2013-03-22 11 views
6

przy użyciu Twitter Bootstrap i rozszerzenia Bootstrap-datepicker. Nie mogę wyświetlać datepaksu wewnątrz popover.Datepicker w Popover Nie wyświetla

<a href="#" id="add-event-button" class="btn btn-small">Add an Event</a> 

$(document).ready(function() { 

    $("#add-event-button").popover({ 
     title: "Add an Event", 
     placement: 'bottom', 
     content: '<input class="datepicker" type="text" />', 
     html: true 
    }).click(function (e) { 
     e.preventDefault(); 
    }); 
}); 

Wyświetlacze popover dobrze, a <input class="datepicker" type="text" /> poza kontekstem popover wyświetla datepicker grzywny. Jakieś pomysły?

Odpowiedz

14

Spróbuj rozszerzyć funkcję popover z zwrotnego, ponieważ datepicker cant być dodawane do nieistniejących elementu na obciążenia, spróbuj tego:

var tmp = $.fn.popover.Constructor.prototype.show; 
$.fn.popover.Constructor.prototype.show = function() { 
    tmp.call(this); 
    if (this.options.callback) { 
    this.options.callback(); 
    } 
} 

$("#add-event-button").popover({ 
    title: "Add an Event", 
    placement: 'bottom', 
    content: '<input class="datepicker" type="text" />', 
    html: true, 
    callback: function() { 
    $('.datepicker').datepicker(); 
    } 
}).click(function (e) { 
    e.preventDefault(); 
}); 

Edit: oddzwan rozwiązanie przedłużacza stąd: Callback function after tooltip/popover is created with twitter bootstrap?

+0

Wow , bezbłędne zwycięstwo! Dzięki, że działało idealnie. – mxmissile

+3

Możesz też po prostu posłuchać zdarzenia "pokazany.bs.popover" –

+1

Dzięki @naturalethic dowiedziałem się, że korzystanie z eventu "inserted.bs.popover" działa jeszcze lepiej, ponieważ dobrze sobie radzi z pozycjonowaniem popover. jest wywoływana, gdy tylko szablon popover zostanie dodany do domeny – katwekibs

Powiązane problemy