gpt4 book ai didi

jQuery tablesorter 排序不起作用

转载 作者:行者123 更新时间:2023-11-30 23:51:03 26 4
gpt4 key购买 nike

我正在使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com