2012-01-17 53 views
0

我遇到tablesorter和动态添加的行的问题。当我尝试添加我的行时,出现此错误: config.parsers[j] is undefined.Tablesorter和动态添加的行

我按照与示例http://mottie.github.com/tablesorter/docs/example-pager.html相同的方式添加行。

delete_rows(); 
var html_data = ''; 
for (i in wos) { 
    html_data += '<tr>'; 
    html_data += '<td><a href="#" class="get_wo" title="' + wos[i].val1 + '">' + wos[i].val1 + '</a></td>'; 
    html_data += '<td>' + wos[i].val2 + '</td>';  
    html_data += '</tr>'; 
} 

var $html_data=$(html_data); 
wo.show();     
$("#wo_table").find('tbody').append($html_data).trigger('addRows', [$html_data]);        

首先,我删除所有的行我的表中,除了标题,然后创建和行追加到表。

有没有人有过同样的问题或类似的问题? 我正在使用Tablesorter版本2.0.25.1

回答

0

我不知道为什么要删除所有的表行然后使用“addRows”方法,因为它只会将新行添加到原始行下。所以,既然所有的行首先被删除,这将是更好地使用这样的“更新”的方法(demo;点击“测试”按钮):

$("#wo_table").find('tbody').append($html_data).trigger('update'); 

哦,我没看到你提到的那个错误。

+0

我删除所有的行,因为它用作搜索,如果他们搜索其他东西,我必须删除旧的结果。这不适用于分页,它只显示前10个结果,其余结果不显示。我认为它的原因是Tablesorter的更新函数,因为当调用传呼机时并不是所有的行都存在 – user1123246 2012-01-17 18:44:10

+0

好的,即使你链接到它也不清楚你是否使用了传呼机;)...尝试设置pager选项'removeRows'到'false',或者使用'$('table')。trigger('destroy.pager');'在更新之前,看看它是否有效。 – Mottie 2012-01-17 21:51:32

+0

感谢您的帮助至今fudgey,现在我的表工作除了1件事。当我更改寻呼机以显示每页更多/更少的结果时,尝试对结果进行排序,它会恢复到每页的旧结果数量。我认为它是因为我没有正确更新寻呼机。 – user1123246 2012-01-18 14:12:28