2012-03-16 25 views
1

私は非常に基本的な例を作りました。最初の<tr> <td>(最初の行、最初のセル)にハイフンを使用すると、tablesorterは動作しなくなりました。
私はjquery 1.7.1を使用してい 、および最新のtablesorter.min.jsJquery tablesorter - Hyphenのバグ

コード例:

ワークス - >ハイフンなし:http://jsfiddle.net/6gjLs/4/
ワークス - >ハイフン 2行目:http://jsfiddle.net/8Wet2/4/
動作しません - >最初の行の最初のハイフン:http://jsfiddle.net/YkaCv/4/

コードは3つの例で全く同じですが、表のデータだけが変更されています。

誰もが同じ問題を経験しましたか?回避策はありますか?

答えて

0

をここに理由がありません&ハック - yのソリューションを動作しません。

理由:

だから、テーブルのソーターコードダッシュの世話をしません - 。

https://github.com/jbritten/jquery-tablesorter-filter/commit/378b7ef36e9201df4ec6bd3fb2487e8c9ec9359f

が、私はプラグインを読んでいますと、この隠された最初の行はそれ

解決策解決理由をフィン必要があります。

A)は、少なくとも一つの文字をチェックしますそのハイフン/ダッシュ( - )の解析を開始する。表示されない文字を偽造する可能性のあるHTMLエンコードを知っている場合。 ANDアンダースコア(_)で試してみました。なら、私は*あなたが素晴らしいとなり、最初の行としてこれを入れてみてくださいすることができます再生し続けるが、

B) * ます - ダッシュ

として一部のコンテンツで一番上に空の行を行い、その後、第2行
Working CODE: (In your JSFiddle - change your TBODY to this one and this should work man. 

     <tbody> 
<tr style="display:none;"> 
        <td>foobar</td>                       
       </tr>     
       <tr> 
        <td>-</td>                       
       </tr> 
       <tr> 
        <td>B</td>            
       </tr> 
       <tr> 
        <td>C</td>            
       </tr> 
      </tbody> 

これまでに役立つことを願っています。 tablesorterは、各列に含まれるデータの種類を決定しようとしたときに

乾杯、

+0

最適ではありませんが、十分に良いです、ありがとう! – ipronet

+0

非ハッキーメソッドについては、[私の答え](http://stackoverflow.com/a/9787955/145346)を参照してください;) – Mottie

+0

おかげで男! http://jsfiddle.net/Mottie/YkaCv/21/ - しかし、ドキュメントは準備ができていません。お勧めはありません。私は今それについて読んでいます。乾杯! –

0

私はしかし、あなたの例で働く私が見つけた1つの簡単な回避策はただ常に隠しTR、TDとトップにAを入れ挿入するようにされるので、tablesorterにいないよ:そうねえ

  <tr style="display:none"> 
       <td>A</td>                       
      </tr>  
+0

前の投稿は同じ、私は恥ずかしいと感じた私は単純な回避策で考えていなかった ありがとうとにかく! – ipronet

3

は実際に、それはダッシュで混乱してしまう...それはテキストまたはマイナス記号のですか? debugtrueに設定してプラグインを実行すると、パーサーがdigitに設定されていることがわかります。ここにはupdated demoがあります。

だから、最高の非ハックソリューションは、テキストにヘッダパーサを設定することです:

$(".tableresult").tablesorter({ 
    headers: { 
     0: { sorter:'text' } 
    } 
}); 

そして最後に、文書レディ機能として$().ready(function(){});使用しないでください。 jQueryの最新バージョンではまだサポートされていますが、使用するのはnot recommendedであり、今後サポートが中止される可能性が最も高いです。代わりに$(function(){})を使用してください。

+0

ありがとう! +1ブルッフ;うん。この修正に返信した後にヘッダオプションについて読む:)伝説の共有方法:))==> [引用]最後に、$()。ready(function(){})を使わないでください。文書準備機能として使用できます。 jQueryの最新バージョンではまだサポートされていますが、将来的には使用やサポートが削除される可能性は非常に高いです。代わりに$(function(){})を使用してください。[UNQUOTE] CHEERS、 –