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

謝謝,但我不明白這是如何幫助我保持我的事件處理程序時,第一次創建表,如我的問題中所述... –

相關問題