0

我正在尋找一個質量機制來添加排序動態生成的表。我的視覺設置非常簡單。在左側,我有一系列可供選擇的項目(圖表,圖表,圖像,表格等)。一旦一個項目被點擊,它會顯示在頁面右側的「動態內容」div中。這一切都很好。(Rails)在動態生成的內容中維護Javascript功能...?

我遇到的問題是能夠實現加載內容的某些動態功能。在這種特殊情況下,我有基於所選表格生成的動態內容,它出現在「動態內容」div中,但JavaScript排序不起作用。我試過把它包含在「應用程序佈局」頁面以及生成數據的部分中,但沒有任何效果。但是,如果我把它放在一個「靜態」頁面,一切正常。任何想法如何得到這個工作?

僅供參考我在OS X上使用Rails 2.3.4,使用「sorttable.js」和Safari 4.0.3 & Firefox 3.5.5進行測試。

最好。

+0

你願意使用jQuery嗎? – 2009-11-17 18:05:11

回答

1

我會懷疑你需要在動態加載的表上調用sorttable.makeSortable(<table element>);。由於您沒有提供關於如何切換表格的背景知識,因此很難提供解決方案。

Sorttable.js依賴於unobtrusive javascript,當頁面完成加載時,可排序的表必須存在於dom中。然後Sorttable.js在每個具有「可排序」類的表上調用makeSortable。當你插入你的新表時,你需要做同樣的事情。

+0

是的,我相信*是*問題 - 這就是爲什麼我試圖將它添加到動態加載的內容,以便它始終與新內容實時存在,但似乎失敗。您能否推薦任何其他解決方案,而不涉及我重新提交回服務器以按照新訂單檢索舊數據?我想保持它圓滑,但在這一點上,我爲任何事情起來。 – 2009-11-17 18:46:00

+0

您是否在生成數據後嘗試手動調用makeSortable? – 2009-11-17 19:35:26

0

有關如何使這項工作的任何想法?

沒有更多信息,很難想出解決方案。但你有沒有嘗試用Firebug查看生成的頁面,看看發生了什麼?你的IDE有一個Javascript調試器嗎?

+0

是的,我已經嘗試在Safari和Firefox中進行調試,並且沒有任何內容可以觸發。我認爲它就像flyfishr64說的那樣 - 所有的數據都需要提前出現,但不幸的是,這種情況不會發生。 – 2009-11-17 18:47:02