我正在使用Bootstrap Table在我的网络应用中显示漂亮的表格。我发现当我的常规纯HTML <table>
被转换为Bootstrap表时,表中的按钮会丢失事件处理程序 - 尤其是,不要触发我为onclick
事件注册的内容。
例如,如果mainTable
是<table>
的{{1}}和button
的ID,那么当我点击按钮时,没有任何反应这个顺序:
<button>
调用$("#button").click(function() {
alert("hi there");
});
$("#mainTable").bootstrapTable();
有效,但我无法做到这一点,因为我从其他一些我无法控制的代码中获取配置的表格。
为什么要删除这些事件处理程序?我可以阻止这种行为吗?
此处有一个JFiddle来试用它。
答案 0 :(得分: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});
我希望为他们服务(对不起我的英语)
答案 1 :(得分:0)
看起来像Bootstrap Table的代码,当它必须转换现有表时,将每个单元格的内容作为文本(包括潜在的内部HTML标记)获取,并重新创建它们。副作用是在此过程中所有事件处理程序都会丢失。
唯一的解决方法是在转换表后附加事件处理程序。