Javascript表排序工作得很好,但对所有索引进行迭代会得到不同的结果
Javascript table sort works well but iterating over all indexes gives different results
我有一个表,我正在使用以下函数进行排序:
function ReorderSupplyGP(table){
table.find('tr:not(.kn-table_summary)').sort(function (a, b) {
var tda = $(a).find('td:eq(1)').text().trim();
var tdb = $(b).find('td:eq(1)').text().trim();
var sales = {
"Purchase": 0, "Transfer": 1, "Returns": 2, "Adjustment": 3, "Inventory": 4
};
tda = sales[tda];
tdb = sales[tdb];
// if a < b return 1
return tda > tdb ? 1
// else if a > b return -1
: tda < tdb ? -1
// else they are equal - return 0
: 0;
}).prependTo(table);
}
它工作得很好,但当我使用功能打印所有行时
for(x=1;x<tablebodyrow.length;x++)
{
console.log(tablebodyrow.eq(x));
}
这看起来就像是对行进行了可视化排序,但它们的索引从未更改。有办法解决这个问题吗。
这正是您正在做的:
1) 用某个集合X中的值填充某个html表2) 然后获得html表,从其行中读取值,并对html表的行进行重新排序3) 你不会在任何地方重新订购基础收藏
解决方案:1) 重新排序初始集合并重新渲染表2) 在您现有的函数中重新排序集合,而不仅仅是html表
相关文章:
- 从JSON API结果迭代时未定义
- 迭代 JSON 文件并且未在 Javascript 中正确返回结果
- Javascript表排序工作得很好,但对所有索引进行迭代会得到不同的结果
- OrientDB Javascript 服务器端函数内的结果迭代
- 如何将 for 循环的每次迭代的结果存储到数组中 (Javascript)
- 迭代结果的总和
- 如何在MongoDB-Shell中正确迭代搜索结果
- 如何在执行数组迭代时避免中间结果
- 用于循环行为的 Javascript 每次迭代输出相同的结果
- 使用 Node.jS 驱动程序在 MongoDB 中迭代多个集合并比较结果
- 在jade[node-mysql]中迭代mysql查询结果
- 如何在$.each()循环中保持$.ajax()异步,但对每次迭代的结果做出反应
- Angularjs:无法迭代或从服务结果中获取结果
- 循环的CasperJS为每次迭代生成相同的结果
- AngularJs:迭代键值对的奇怪结果
- 如何迭代jquery选择器的结果
- 如何迭代生成器函数的结果
- 如何在Nightwatch中迭代querySelectorAll结果
- 在不同数据上使用“tr”元素的undercore模板迭代会给出错误的结果
- JSON迭代结果…可以排序