【发布时间】:2020-05-14 19:24:18
【问题描述】:
我使用 JS 和 jQuery 对我的表格进行排序,这是我对表格进行排序的代码
function sortTable(table, column, order) {
var asc = order === \'asc\';
var tbody = table.find(\'tbody\');
tbody.find(\'tr\').sort(function (a, b) {
if (asc) {
return $(\'td:eq(\' + column + \')\', a).text()
.localeCompare($(\'td:eq(\' + column + \')\', b).text());
} else {
return $(\'td:eq(\' + column + \')\', b).text()
.localeCompare($(\'td:eq(\' + column + \')\', a).text());
}
}).appendTo(tbody);
}
问题是该表仅按第一个数字排序,如下所示:
[ 1, 10, 12, 18, 2, 3, 33, 4, 5]
我希望它是这样的
[ 1, 2 , 3, 4, 5, 10, 12, 18, 33]
-
您不需要
localeCompare来对数字进行排序。只需在值上使用parseInt并像往常一样对其进行排序。 -
你有任何例子如何实现我的功能吗?
标签: javascript jquery laravel