8

私のアプリケーションでは、並べ替えの目的で List.js を使用しています。すべての「文字列」値は正常に機能しています。しかし、列に「変更日」があります。

「日付で変更」をクリックすると-並べ替えるには、日付の値を考慮して、たとえば1/4/11 ..というテキストがあり、それに応じて並べ替えます。このアプローチのために、私は間違ったソート順を取得しています。

代わりに、日付の実際の数値でソートする方法を教えてください。

これが私のコードです:

new List('mfi-col2', {
       valueNames: ['companyLegalName', 'phazeName', 'contactName', 'number', 'enrollId', 'accountType']
                        });

代わりに"number"送ることは可能$(".number").data-numberですか?サーバーから取得しているタイムスタンプを使用させてください。

または、誰かがこのプラグインの代替案を提案できますか?

4

2 に答える 2

8

これは古い質問であることは知っていますが、この回答は新規参入者に役立つ可能性があります。

表示する日付ごとに、タイムスタンプの値を HTMLに追加し、タイムスタンプの値を比較/並べ替えます。

1 つの提案はspan、日付を表示する同じレベルに 2 番目の非表示の HTML としてタイムスタンプ値を追加することです。タイムスタンプはソートに使用されます。


これが私が使用したものの例です:

私のリストはテーブルとして機能しており、これ<td>がメイン コンテナです。次に、 の中で 2 つを使用<span>しました<td>

最初に<span>呼び出されるc_startのは表示される実際の日付です。これは単なる表示であるため、任意の形式(dd/mm/yyyy または dd-mm-yy)で表示できます。

並べ替えに関しては、2 番目の Spanc_start_tsを使用して非表示にします。では、タイムスタンプ値を整数全体としてc_start_ts入れましたが、これは完全な並べ替えです。後でフィルタリングを適用する場合でも、数値に変換して比較できるため、タイムスタンプの値を扱いやすくなります。

<td class="xlarge-head ">
    <span class="c_start">[[FORMATTED-DATE-HERE]]</span>
    <span class="c_start_ts hide">[[PUT-TIMESTAMP-HERE]]</span>
</td>

<td class="xlarge-head ">
    <span class="c_start">01/01/2015</span>
    <span class="c_start_ts hide">1420070400</span>
</td>

次に、並べ替えに渡すc_start_tsと、テーブル内が並べ替えられます。list.jsTD

最近 list.js に慣れ始めたばかりですが、可能性はあると思いますが、ドキュメントやサポートはあまりありません。私が助けてくれることを願っています:)

于 2013-12-05T09:52:26.057 に答える