我愿意设置 Bootstrap Popover 以显示已发送给用户的电子邮件列表。因此,内容是通过 ajax
动态生成的。称呼。这是我的代码:
$('#liste').on('mouseover', 'tr[data-toggle=popover]', function(e) {
var $tr = $(this);
id = $(this).data('id');
$.ajax({
url: '<?php echo $this->url(array(), 'loadRelance');?>',
data: {id: id},
dataType: 'html',
success: function(html) {
$tr.popover({
title: 'Relance',
content: html,
placement: 'top',
html: true,
trigger: 'hover'
}).popover('show');
}
});
});
如您所见,它将在每个 mouseover
上触发 ajax 调用关于<tr>
的<table>
。由于第一次加载页面时它工作得很好,因此当我更改发送的邮件数量时,当我再次执行此操作时,它不会显示更新的列表(当然,如果我重新加载页面,它会工作) )。我可以在 Chrome 开发者工具栏中的 XHR 请求预览中看到更新的列表,但它不会将其加载到弹出窗口的内容中。它保留旧列表。
任何帮助将不胜感激。 谢谢!
最佳答案
您应该使用以下方法销毁现有的弹出窗口:
$tr.popover('destroy');
然后使用您的代码创建新的弹出窗口:
$tr.popover({options}).popover('show');
关于jquery - Twitter Bootstrap Popover 通过 ajax 动态生成内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23055933/