0

Knockoutを使用してデータを入力しているテーブルが複数あります。現在、ノックアウトソート方式を使用しています

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

ただし、すべてのテーブルのすべての列で並べ替えを行う必要があります。それらすべてのステートメントを書くことについては離れていますか?jquery tablesorterを調べましたが、テーブルで機能していないようです。多くの列は、単なるテキストではなく、ボタンまたはその他のオブジェクトです。ノックアウト方式を使用して立ち往生している場合、これらは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 に答える