0

我有多个要使用 Knockout 填充的表。目前我正在使用淘汰赛排序方法

    { return a.total_sales() > b.total_sales() ? -1 : 1; }
    else { return a.total_sales() < b.total_sales() ? -1 : 1; };

但是,我需要对每个表中的每一列进行排序。有没有写所有这些陈述?我查看了 jquery 表排序器,但它似乎不适用于我的表。许多列是按钮或其他对象,而不仅仅是文本。如果我坚持使用淘汰赛方法,我将拥有超过 100 个这样的方法。建议?

如果需要,我可以添加一个使用 tablesorter 失败的表格示例

4

1 回答 1

0

您可以添加绑定处理程序以使用 jquery 插件:

ko.bindingHandlers.tablesorter = {
    init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
    },
    update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
    var options = ko.utils.unwrapObservable(valueAccessor());
        $(element).tablesorter(options)
    }
}

然后在你的html中:

<table data-bind="tablesorter: {sortList: [[0,0], [1,0]]}"></table>
于 2013-02-27T18:00:26.307 回答