jQuery tablesorter 排序不起作用

标签 jquery ajax jquery-plugins

我正在使用 jQuery tablesorter 插件从 csv 文件动态生成表格,并且该部分工作正常。但是,每当我尝试通过单击表标题对表进行排序时,Firebug 都会在控制台中报告此问题:

parsers is undefined
return parsers[i].type;\n

最初,我认为这个问题是由于文档加载后表格未准备好引起的,因此我通过在从 csv 文件渲染表格后手动调用 tablesorter() 来修复该问题。但这并没有解决问题。

另外,在表格的最后,表格被绘制成乱码,有一些gray areas在最后。我想这与上面的错误有关。

有问题的代码是这样的:

<html>

<head>  
    <link rel="stylesheet" href="blue/style.css" type="text/css" />

   <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
   <script type="text/javascript" src="jquery.tablesorter.js"></script>
   <script type="text/javascript" src="jquery.csv.js"></script>
   <script type="text/javascript" id="js">
   function sortThis() {
         $("#myTable").tablesorter({
            // sortList:[[0,0],[2,1]]
         });
   }; 
    </script> 
    <title>huh!?</title>

</head>

<body>

<table id="myTable" class="tablesorter" cellspacing="1" cellpadding="0" border="0"> 

<thead> 
<tr>    
<th>name</th> 
<th>type</th> 
<th>Date</th> 
</tr>
</thead>

<tbody>

    <script type="text/javascript">

        $.get('myfile.csv', function(data) {
            myfile = jQuery.csv()(data)
            for (var x = 0; x < myfile.length; x++) {
                str = "<tr>";
                for (var y = 0; y < myfile[x].length; y++) {
                    str += "<td>" + myfile[x][y] + "</td>";
                }
                str += "</tr>";
                $('#myTable').append(str);
            }
        });

        sortThis();
    </script>

</tbody>
</table>
</body>
</html>

预先感谢您的帮助。

最佳答案

我遇到了类似的问题,但抛出错误是因为表是空的(除了标题之外)。我认为您会因为同样的原因而收到错误。

我认为问题在于表排序器不知道表数据,因为您在使用 $.get() 方法加载页面后对其进行修改。要提醒表排序器表数据的更改,请在调用 sortThis() 之前使用此调用。

$('#myTable').trigger("update");

这应该可以解决你的问题。

作为 tablesorter 调用的一部分,您还可以使用以下语法来避免此错误:

$('#myTable:has(tbody tr)').tablesorter({
 ...
});

我在 jQuery Google Group posting 上找到了帮助.

关于jQuery tablesorter 排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1251536/

相关文章:

jQuery 文件下载插件

javascript - 选择值列表时的浏览器后退按钮

javascript - 创建 jquery 插件 - 在同一元素上使用两次时不起作用

javascript - Chrome 中的平滑滚动功能卡住了

jquery - 防止 UI 由于 ajax 调用而卡住

javascript - 冲突的 AJAX 和 JQuery 脚本 - 没有错误

php - AJAX/PHP异步计算

javascript - Google map 信息窗口内容在重新加载时消失。可能是什么原因造成的?

javascript - 动态嵌套 JSON 对象

javascript - 我的 jQuery Ajax 无法与 PHP 配合使用