【发布时间】:2017-12-27 07:36:35
【问题描述】:
我有一张表要排序。它目前有 3 列:
货币Td | accountNoTd |复选框Td
我想先按货币排序,然后按复选框(选中的在顶部),最后按帐号。但是,还需要进行一项修改 - 初始加载时,具有特定货币(“PLN”)的行应显示在表格顶部。之后所有剩余的行都应该正常排序。
我使用 list.js 对行进行排序。我写了以下排序函数:
const options = {
valueNames: ['currencyTd', 'accountNoTd', 'checkboxTd']
};
const accountsList = new List('accountsList', options);
accountsList.sort('currencyTd', {
order: 'asc',
sortFunction: function (a, b) {
if ((a.currencyTd === 'PLN') != (b.currencyTd === 'PLN')) {
return a.currencyTd === 'PLN' ? 1 : -1;
}
return a.currencyTd > b.currencyTd ? 1 :
a.currencyTd < b.currencyTd ? -1 : 0;
}
});
但它没有按我预期的方式工作。我可能会做错什么?
编辑:我忘了添加 - 我此时编写的当前函数(如上面的代码中所示)应该仅按货币列对其进行排序。当我实现它时,我想按其他列添加排序。
【问题讨论】:
标签: javascript list sorting list.js