gpt4 book ai didi

JQuery TinySort 无法正确排序数字

转载 作者:行者123 更新时间:2023-12-01 06:55:33 27 4
gpt4 key购买 nike

我在一个页面上有多个 html 表,每个表都有一个标题行。当我单击该列标题时,它应该按该列对所有表进行排序。我特别提到的列包含一个 anchor ,用于文本显示整数值。

当我单击列标题时,我遇到了错误的排序。假设我在此屏幕上加载以下内容:

83
84
104

现在我单击列标题,最终结果变为:

104
83
84

我编写了代码来在下次单击时交替排序,结果是 104 和 84 围绕 83 旋转。我认为发生的情况是它错误地比较了这些。我已经用更大的数据集对其进行了测试,当任何数字不共享共同的位数时就会出现问题。

有什么东西(也许我缺少一个标志?)来告诉这个东西正确排序?我所有类似字符串的数据都正确排序。

代码:

<html>
<head>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="jquery.tinysort.min.js"></script>
<script language="javascript">
var aAsc = [];
$(".SubHead").click(
function() {
var nr = $(this).index();
aAsc[nr] = aAsc[nr]=='asc'?'desc':'asc';
$('.resultTable>tbody>tr:not(.SubHeadRow)').tsort("td:eq("+nr+")",{order:aAsc[nr]});
}
);
</script>
</head>
<body>
<table class="resultTable" border="1">
<tr class="SubHeadRow">
<td class="SubHead">
<a href="#">ID</a>
</td>
<td class="SubHead">
<a href="#">Application Header</a>
</td>
<td class="SubHead">
<a href="#">Version Header</a>
</td>
</tr>
.
.
.
</table>
.
.
.
</body>

编辑:这是插件的链接:http://tinysort.sjeiti.com/

上面我修改了代码以包含 html 的示例。我不在它前面,所以它可能不是 100%。我并不是怀疑它很重要,但这些表是在 ColdFusion 7MX 中动态创建的。

最佳答案

好的,

我回答了我自己的问题。今天早上查看 TinySort 网站时,我注意到有一个专门讨论此问题的区域。在花费数小时关注此功能后,很容易看出它是如何被忽视的。答案在http://tinysort.sjeiti.com/解析自定义排序函数下进行一些细微的调整。

我为整数列创建了一个自定义案例并传递了一个自定义比较器函数。见下文:

var aAsc = [];
$(".SubHead").click(
function() {
var nr = $(this).index();
aAsc[nr] = aAsc[nr]=='desc'?'asc':'desc';
if(nr == 0){
$('.resultTable>tbody>tr:not(.SubHeadRow)').tsort("td:eq("+nr+")",
{
sortFunction:function(a,b) {
var order = (aAsc[nr]=='asc')?1:-1;
var i = parseInt(a.s);
var j = parseInt(b.s);
if( i===j ){
return 0;
} else {
return (i > j)?order:-1*order;
}
}
}
);
} else {
$('.resultTable>tbody>tr:not(.SubHeadRow)').tsort("td:eq("+nr+")",{order:aAsc[nr]});
}
}
);

关于JQuery TinySort 无法正确排序数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9508146/

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