Tout d'abord, si vous souhaitez utiliser du HTML à l'intérieur du contenu, vous devez définir l'option HTML sur true :
$('.danger').popover({ html : true});
Vous avez ensuite deux options pour définir le contenu d'un Popover
- Utilisez l'attribut data-content. Il s'agit de l'option par défaut.
- Utilisez une fonction JS personnalisée qui renvoie le contenu HTML.
Utilisation du contenu des données : Vous devez échapper le contenu HTML, quelque chose comme ceci :
<a class='danger' data-placement='above'
data-content="<div>This is your div content</div>"
title="Title" href='#'>Click</a>
Vous pouvez soit échapper le HTML manuellement, soit utiliser une fonction. Je ne connais pas PHP mais dans Rails nous utilisons *html_safe*.
Utilisation d'une fonction JS : Si vous faites cela, vous avez plusieurs options. La plus simple, je pense, est de mettre le contenu de votre div caché où vous voulez, puis d'écrire une fonction pour passer son contenu à popover. Quelque chose comme ceci :
$(document).ready(function(){
$('.danger').popover({
html : true,
content: function() {
return $('#popover_content_wrapper').html();
}
});
});
Et alors votre HTML ressemble à ceci :
<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>
J'espère que cela vous aidera !
PS : J'ai eu quelques problèmes en utilisant le popover et en ne mettant pas l'attribut title... donc, n'oubliez pas de toujours mettre le title.