Przede wszystkim, jeśli chcesz używać HTML w treści, musisz ustawić opcję HTML na true:
$('.danger').popover({ html : true});
Następnie masz dwie opcje ustawienia zawartości Popover
- Użyj atrybutu data-content. Jest to opcja domyślna.
- Użyj niestandardowej funkcji JS, która zwraca zawartość HTML.
Korzystanie z treści danych : musisz zmienić znaczenie zawartości HTML, na przykład:
<a class='danger' data-placement='above'
data-content="<div>This is your div content</div>"
title="Title" href='#'>Click</a>
Możesz ręcznie zmienić kod HTML lub użyć funkcji. Nie znam PHP, ale w Railsach używamy * html_safe *.
Korzystanie z funkcji JS : Jeśli to zrobisz, masz kilka opcji. Myślę, że najłatwiejszym rozwiązaniem jest umieszczenie zawartości div w dowolnym miejscu, a następnie napisanie funkcji, która przekaże jej zawartość do popover. Coś takiego:
$(document).ready(function(){
$('.danger').popover({
html : true,
content: function() {
return $('#popover_content_wrapper').html();
}
});
});
Twój kod HTML wygląda następująco:
<a class='danger' data-placement='above' title="Popover Title" href='#'>Click</a>
<div id="popover_content_wrapper" style="display: none">
<div>This is your div content</div>
</div>
Mam nadzieję, że to pomoże!
PS: Miałem kłopoty używając popover i nie ustawiając atrybutu title ... więc pamiętaj, aby zawsze ustawiać tytuł.