动态生成的按钮,未打开模式Bootstrap 3

时间:2019-11-24 21:22:53

标签: javascript jquery twitter-bootstrap-3

我正在使用bootstrap 3并动态创建元素类型为

的按钮
<a class="btn btn-primary" data-id="1" data-toggle="modal" data-target=".ver-persona">
   <i class="fas fa-search"></i> Ver
</a>

我生成按钮的脚本是:

let boton_elem = $('<a>');
boton_elem.addClass('btn');
for(let clase_btn in botones[boton].clases){
    boton_elem.addClass(botones[boton].clases[clase_btn]);
}
for(let data_btn in botones[boton].datas){
    boton_elem.data(botones[boton].datas[data_btn][0],botones[boton].datas[data_btn][1]);
}
if(botones[boton].icon !== undefined){
    let icon_elem = $('<i>');
    for(let clase_icon in botones[boton].icon.clases){
        icon_elem.addClass(botones[boton].icon.clases[clase_icon]);
    }
    icon_elem.appendTo(boton_elem);
}
if(botones[boton].valor.length > 0){
    boton_elem.html(boton_elem.html() + ' '+ botones[boton].valor);
}
if(botones[boton].listens !== undefined){
    for(let listen in botones[boton].listens){
        $('#'+tabla).on(botones[boton].listens[listen].evento,botones[boton].listens[listen].botones[boton].listens[listen].funcion);
    }
}
boton_elem.appendTo(columna_elem);

已完美创建按钮,在其中包含了数据,并且所有参数均已正确应用,但是.ver-persona模式无法用生成的按钮打开,所有加载页面的按钮均能正常工作,并且模式可以正常打开。

存在创建按钮时刷新或重新引导引导侦听器的任何方法吗?或建议您打开按钮的某些功能来打开模态?

我做这个小提琴供参考:Live example

谢谢。

1 个答案:

答案 0 :(得分:1)

对于动态内容,可以使用jQuery的.attr添加数据属性。因此,您可以将其改写为boton_elem.data(boton.datas[data_btn][0],boton.datas[data_btn][1]);而不是boton_elem.attr("data-"+boton.datas[data_btn][0],boton.datas[data_btn][1]);

您可以here对其进行测试