2013-01-10 94 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