Javascript 防止引导popover清除内容

Javascript 防止引导popover清除内容,javascript,jquery,bootstrap-5,Javascript,Jquery,Bootstrap 5,我试图在我的Bootstrap5Popover中使用html。为了从特定的div获取html内容,我稍微修改了代码(不想使用data-bs-content=“”属性) 当前代码如下所示: $(文档).ready(函数(){ //爆米花 $(“[data bs toggle=popover]”。每个(函数(i,obj){ var id=$(this.attr('id')) $(这个)({ 容器:'主体', 是的, 位置:'对', //触发器:“焦点”, customClass:''+id+'-p

我试图在我的Bootstrap5Popover中使用html。为了从特定的div获取html内容,我稍微修改了代码(不想使用data-bs-content=“”属性)

当前代码如下所示:

$(文档).ready(函数(){
//爆米花
$(“[data bs toggle=popover]”。每个(函数(i,obj){
var id=$(this.attr('id'))
$(这个)({
容器:'主体',
是的,
位置:'对',
//触发器:“焦点”,
customClass:''+id+'-pop',
消毒:错,
内容:功能(){
返回$('#popover content-'+id).html();
}
});
})//poppover
//更新隐藏的popover内容div中的输入字段
$(document).on('keyup',“.trigger pop input[type=text]”,函数(){
var inputid=$(this.attr('id');
var inputdata=$(this.val();
$(“#popover内容触发器”).find(“#”+inputid.val(inputdata);
});
//chkbx开/关切换“修复”
$(“#自定义按钮”)。在('change',function()上{
var id=$(this.attr(“id”);
如果($(this).prop(“选中”)){
$('label[for=“”+id+”).removeClass(“btn大纲主”).addClass(“btn主”);
}否则{
$('label[for=“”+id+”).removeClass(“btn主”).addClass(“btn大纲主”);
}
});
});

触发
一些选择
输入1
输入1

我找到了一个解决方案,可以帮我“完成工作”。我不确定这是否是最好的解决方案,但效果很好

在本例中,我组合了
显示的.bs.popover
隐藏.bs.popover
函数。因此,在初始化弹出脚本后,将从文档中删除“内容持有者”div(以避免文档中有多个ID相同的输入),但在实际关闭之前,弹出脚本将克隆实际的弹出内容并将其插入“弹出内容持有者”以备将来使用/初始化

这样,它可以保存用户在popover中所做的更改(文本、复选框等)。 此外,document/DOM中通常存在ID相同的输入元素

$(文档).ready(函数(){
//爆米花
$(“[data bs toggle=popover]”。每个(函数(i,obj){
var id=$(this.attr('id'))
$(这个)({
容器:'主体',
是的,
位置:'对',
//触发器:“焦点”,
customClass:''+id+'-pop',
消毒:错,
内容:功能(){
actualcontent=$('#popover内容-'+id).find(“.content”).clone()
返回实际内容
}
});
})//poppover
$(“[data-bs-toggle=popover]”)on('show.bs.popover',function(){
var id=$(this.attr('id'))
$('#popover内容-'+id).find(“.content”).remove()
}); 
$(“[data-bs-toggle=popover]”)on('hide.bs.popover',function(){
var id=$(this.attr('id'))
var lastcontent=$(document.find('.+id+'-pop').find(“.content”).clone()
$(lastcontent).appendTo(“#popover内容-”+id);
}); 
});

触发
一些选择
输入1
输入1


以不同用户的身份提出相同的问题并不意味着回答更多。意图的副本是用这个来定赏金。。谢谢您好,您可以将用户在输入中键入的值存储在localstorage或dom中的某个位置,并在popover打开时检索它。这也是我的想法,但是,我遇到了问题,因为我的html包含一些不同的输入类型(文本、复选框等),带有uniqe ID,并且当我初始化对其中一些类型的更改时(例如复选框)它无法正常工作,因为文档包含多个ID相同的元素。我找到了解决方案,并将其作为答案发布,谢谢!