2011-09-12 7 views
1

私はユーロで私の通貨の列を除いて成功とjqueryテーブルソーターを使用しています。JQuery Tablesorter - 通貨列がソートされていませんか?

これは(それが唯一の最初の数を読んでいる?)私のASCの結果である:

€102 €105 €110 €120 €29 私はどうすればよい€35 €40

29が最初であり102ではないようにしてください。

+0

。私の場合は、欠落している記号をCSSで画像に戻して修正しました。かなりハッキーですが、それは内部使用のためだけだと述べているので、これはクイックフィックスとして使用できます。 – upstream

答えて

0

ユーロ記号をドル記号に置き換えるとうまくいきますか?

もしそうなら、あなたのユーロ記号は通常のutf文字の代わりにhtmlエンティティとして提供されるため、tablesorterプラグインはその列値を通貨として扱わなければならないことを知らない。したがって間違った並べ替え。

一方、通貨の値の前に適切なユーロ記号がある場合は、tablesorterが指定の列を通貨として扱うようにすることができます。

// Create a tablesorter interface and set a column parser for the second column. 
$('#example-table').tablesorter({ headers: { 2: {sorter:"currency"} } }); 

がアップデート: - 列ライン4と6行で

ts.addParser({ 
    id: "currency", 
    is: function (s) { 
     return /^[£$�.]/.test(s); 
    }, format: function (s) { 
     return $.tablesorter.formatFloat(s.replace(new RegExp(/[ÂŁ$âŹ]/g), "")); 
    }, type: "numeric" 
}); 

あなたが正規表現を見ることができます:この行を詳しく見てみ、あなたのtablesorterプラグインのソースコードをチェックし、このような行4でテストに合格すると通貨として扱われます(上記の例のように)、regexpの文字のエンコーディングがうまくいきません。彼らが大丈夫であることを確認するには、あなたのユーロ文字でそれらを置き換えます。

+0

うんうん、私は€infrontと& euro;を入れてみました - そして、後で両方を試してみて、それはいつもそれを壊す! しかし、どちらのシンボルもうまくいきません($はありますが、明らかに私には良いことではありません) - ユーロシンボルをTHに貼っておかなければなりません。そのヘッダーは何も変わらなかった。たとえ9番目の列が2から9に変更されても、 –

+0

実際に動作していないページへのリンクを提供することはできますか? – WTK

+0

残念ながらそれは内部的なものではありません。しかし、明らかにユーロ記号がデータの並べ替えを混乱させるようですが、$は問題ないので、各値の後に通貨記号なしでデータを表示するだけです! –

0

この質問は古いですが、私は同じ問題に遭遇し、他の誰かが同じ問題を抱えている場合に私が解決策を投稿すると思いました。

私は、u(単位)、g(グラム)、€などの10進数の後ろにさまざまな記号の列を持っています。

投稿されたWTKは正しいものの、彼が投稿した列数は正しくありません。彼は2列目に「2」を書いていますが、カウントは0から始まります。したがって、2列目でソートする必要がある場合は、1を書く必要があります。

USスタイルの小数点以下を使用するので、コードで は、ここで私のために働いていたものです:私もこの問題に遭遇してきたが、限られた時間がeurosignをドロップするように私を余儀なくさ

 $('#mainTable').tablesorter({ 
      usNumberFormat: true, 
      headers: { 
       // column number 6, with contents such as: 1.04 g 
       5: { 
        sorter: "currency" 
       }, 
       // column number 7, with contents such as: 1.04 u 
       6: { 
        sorter: "currency" 
       }, 
       // column number 9, with contents such as: 1.04 € 
       8: { 
        sorter: "currency" 
       }, 
       // column number 10, with contents such as: 1.04 € 
       9: { 
        sorter: "currency" 
       }, 
       // column number 11, with contents such as: 1.04 € 
       10: { 
        sorter: "currency" 
       } 
      } 
     }); 
関連する問題