2013-01-10 38 views
-2

我目前在我的項目中使用jQuery數據表。我所堅持的是能夠動態添加一個新行,並同時按字母順序添加行。jquery datatables按字母順序添加新行

據我所知,我需要使用API​​中的fnadddata來添加一行,但這個函數只是將新行添加到表的末尾。它不按字母順序添加。因此,我編寫了自己的代碼來查找手動添加行的位置。

$(".rowList").each(function() { 
    if($(this).text().toLowerCase() > eObj.response.name.toLowerCase()) { 
     $(this).closest("tr").before(eObj.response.html); // html is the new row from server 
     return false; 
    } 
} 

上面的代碼找到字母的位置並相應地在表中創建一個新行。但是,當然,因爲我沒有使用數據表fnaddData函數,一旦添加了行並且當我單擊表上的某個事件(例如:排序,搜索,過濾)時,新行就消失了。

我明白這是因爲DOM和緩存問題的datatables。那麼我有辦法處理這個問題嗎?

回答

0

難道你不能只在最後使用fnadddata插入它,然後根據列的字母值對行進行排序嗎?

+0

感謝您的回覆weexthis。我試圖做到這一點,但對數據表中新行的排序要麼只是到頂部,要麼到底部。它不能根據字母排序 –

0

fnAddData肯定會在表格運行後對錶格排序 - 例如:http://live.datatables.net/aceyed/edit#javascript,html。請鏈接到顯示問題的測試案例。

+0

fnAddData文檔還顯示它默認進行排序,但如果需要,也可以關閉排序:https://datatables.net/api – user