当我点击目标div时,我想要显示一个popover(我可能会显示一个加载标签作为内容),同时ajax get请求被发送到服务器以获取数据。一旦数据恢复,我想更新这个已打开的popover。
这是我的代码:
$(document).on('click', '.row-client', function (e) {
var id = $(this).attr('id');
var str = id.split('-');
var component = str[0];
var clientId= str[1];
$.ajax({
url: '../Clients/Index',
type: 'GET',
data: { clientId: clientId },
dataType: 'html',
success: function (data) {
$('.popper').popover({
placement: 'bottom',
container: 'body',
html: true,
content: data
});
},
error: function (xhr, status, error) {
alert(xhr.responseText);
}
});
});
我遇到的问题是:
首次点击或加载数据时,不会自动显示弹出窗口。我需要继续点击。一旦数据被回退并加载,弹出窗口将显示在下一个'单击。为什么会这样?
在获得数据后,有什么方法可以让popover保持打开并自动更新内容?
在下一次单击以提升弹出窗口时,我希望内容为空(现在不是)。什么阻止了它?
答案 0 :(得分:0)
对$()。popover的调用不会显示弹出窗口。它只会向DOM元素添加popover行为。之后出现的是点击,具体取决于"触发器"你配置了popover。
在文档准备好后立即尝试调用$(' .popper')。popover()。
要更改弹出窗口的内容,请在显示时尝试以下操作:
$('.popper').attr("data-content","new content");
$('.popper').data('bs.popover').show();