0

我使用Bootstrap Table在我的web应用程序中显示漂亮的表格。我发现,当我的常规纯HTML <table>被转换为Bootstrap表时,表中的按钮会丢失事件处理程序 - 特别是,不会触发我为onclick事件注册的内容。如何防止引导表清除我的事件处理程序?

举例来说,如果mainTable是一个<button><table>button的ID,没有任何反应,当我点击按钮,如果事件连接顺序:

$("#button").click(function() { 
    alert("hi there"); 
}); 

$("#mainTable").bootstrapTable(); 

调用bootstrapTable()作品,但我无法做到这一点,因为我从其他一些我无法控制的代码中获取配置表。

这些事件为什么被取消?我可以防止这种行为吗?

这是JFiddle试用一下。

回答

0

它看起来像引导表的代码,当它必须转换现有的表,获取每个单元格的内容作为文本(包括潜在的内部HTML标记),并重新创造它们。副作用是所有的事件处理程序都在这个过程中丢失。

唯一的解决方法是在转换表后附加事件处理程序。

0

我直接在库中实现以下功能,一直很不错

BootstrapTable.prototype.removeRow = function (params) { 
if (!params.hasOwnProperty('index')) { 
    return; 
} 

var len = this.options.data.length; 

if ((params.index > len) || (params.index < 0)){ 
    return; 
} 

this.options.data.splice(params.index, 1); 

if (len === this.options.data.length) { 
    return; 
} 

this.initSearch(); 
this.initPagination(); 
this.initBody(true); 
}; 

如何使用,如“updateRow”

$("#your-table").bootstrapTable('removeRow',{index:1}); 

我希望成为他们(对不起我的英语)

+0

谢谢,但我不明白这是如何帮助我保持我的事件处理程序时,第一次创建表,如我的问题中所述... –

相关问题