0

我正在使用Bootstrap Table在我的网络应用程序中显示漂亮的表格。我发现当我的常规纯 HTML<table>转换为 Bootstrap 表时,表中的按钮会丢失事件处理程序——尤其是不要触发我为onclick事件注册的内容。

例如,如果mainTable是 a<table>buttona的 ID,<button>如果事件按以下顺序附加,则单击按钮时不会发生任何事情:

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

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

调用bootstrapTable()有效,但我不能这样做,因为我从其他一些我无法控制的代码中获取配置的表。

为什么要删除这些事件处理程序?我可以防止这种行为吗?

这是一个JFiddle尝试一下。

4

2 回答 2

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});

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

于 2015-07-23T20:08:18.613 回答
0

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

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

于 2015-08-18T09:41:38.183 回答