我是Bootstrap和jquery的新手,我对它有一个很大的问题,没有找到解决的办法。
案例:我有一个文本,它也有工具提示和弹出窗口。使用弹出窗口,我显示了一个输入字段和一个按钮。按下按钮后,"tooltip-title“将更改为输入值。这是可行的。但是..。我不能销毁并重新初始化工具提示,这样它就不会显示新的标题。
代码:
$('.note').each(
function() {
$(this).popover({
placement: 'auto',
html: true,
content: returnNoteInput($(this), $(this).attr("tooltip-title"), $(this).attr("input")),
title: "Jegyzet módosítása"
})
$(this).tooltip({
placement: 'bottom',
title: $(this).attr("tooltip-title")
})
});
function returnNoteInput(inputValue, inputTarget) {
eredmeny = "<input type=\"text\" value=\"" + inputValue + "\"></input>";
eredmeny += "<button onclick=\"setValue(this, '" + inputTarget + "')\")>módosítás</button>"
return eredmeny;
}
function setValue(ele, targetId) {
document.getElementById(targetId).value = ele.previousElementSibling.value;
noteElement = document.getElementById(targetId).nextElementSibling;
noteElement.setAttribute("tooltip-title", ele.previousElementSibling.value);
}
所以一切都正常(我可以看到工具提示-标题正在改变),除了我不能重新初始化工具提示(我没有复制我的尝试,因为它没有成功)。
编辑:注意:我还有另一个输入域,看看它是否正常工作。
感谢大家的帮助!
发布于 2018-07-31 04:20:28
我找到了解决方案:
function setValue(ele, targetId){
document.getElementById(targetId).value=ele.previousElementSibling.value;
noteElement= $('#'+targetId).next();
noteElement.attr("tooltip-title",ele.previousElementSibling.value);
noteElement.tooltip("destroy");
noteElement.popover("destroy");
setTimeout(function() {
noteElement.tooltip({placement : 'bottom',title : noteElement.attr("tooltip-title")})
noteElement.popover({placement : 'auto',html:true,content: returnNoteInput(noteElement.attr("tooltip-title"),noteElement.attr("input")), title :"Jegyzet módosítása"})
}
,1000)
}
https://stackoverflow.com/questions/51597702
复制相似问题