2013-04-18 50 views
1

我有一個動態表,通過Cold Fusion輸出。表格創建的很好,但我正在做的一件事是使用JavaScript來獲取表格的outerHTML並將其分配給隱藏的元素值。捕獲是隱藏元素值需要具有最多20行的表,並且原始表中的總數可以是可變的。我需要將表的externalHTML讀入一個Javascript變量並遍歷內容並在20行之後結束表,然後創建一個新表並繼續將其餘行添加到新表。有什麼建議麼?結束表,然後開始新行

回答

2

因此,您在服務器上輸出一個包含多行的表的ColdFusion,並且您希望在客戶端上使用jQuery將該大表切成許多較小的表,對吧?如果是這樣,這裏是做這件事:

例子:jsfiddle

var rows = $('#content tr'); 
    var maxTableSize = 3; 
    while (rows.length) { 
     var newRows = rows.splice(0, maxTableSize); 
     $('<table><tbody>').append(newRows).appendTo('#output'); 
    } 

    $('#content').remove(); 

您需要這個適應無論你的DOM是 - 這是一個簡單的例子顯示它的作品,但你可能需要它的工作方式稍有不同,所以考慮發佈一個jsfiddle,如果這不是你想要的。請注意,重複附加到DOM效率不高,因爲它會觸發大量重繪(瀏覽器端)。我想讓這個例子變得簡單 - 您可以閱讀更多關於如何在稍後使用DOM高效運行的信息。

最好的辦法是修改服務器端代碼,按照需要將表格吐出來!

+1

謝謝Cymen。我最終做的是抓住表格內的所有行,然後遍歷它們,結束表格並在計數達到我指定的限制時開始新表格。運作良好。我無法通過CF以倍數輸出表格的原因是CF查詢輸出的表格被用作數據表格,並且需要作爲一個大的可搜索表格進行維護。從javascript函數創建的輸出用於在將隱藏元素值發送到cfdocument標記以導出爲PDF時的x行數後添加分頁符。 – Phil

+0

啊!有道理......我想我會指出來以防萬一。 – Cymen

0

我打算假設表格是從查詢結果創建的。既然如此,在查詢中使用currentrow變量的模運算符會使您開始。

相關問題