2014-02-19 44 views
1

我在具有逗號分隔數字內容列的表上使用jQuery tablesorter。我添加了一個自定義分析器,並解決了我對排序逗號格式化數字的問題。 我想要一個特殊情況,值'NA'始終在排序列的末尾,而不管排序順序如何。這樣做的一種方式是我以某種方式「調整」我使用的自定義分析器,如下面代碼的評論。在JQuery tablesorter中 - 如何根據排序順序更改解析器

$.tablesorter.addParser({ 
    id: 'number-sorter', 
    is: function (s) { 
     return false; 
    }, 
    format: function (s) { 
     return s.replace(/,/g, ''); 

     /* what I want here is - 
     if(sortOrder == "asc") 
      return s.replace(/,/g, '').replace('NA', Number.POSITIVE_INFINITY); 
     else 
      return s.replace(/,/g, '').replace('NA', Number.NEGATIVE_INFINITY); 
     */ 

    }, 
    type: 'numeric' 
}); 

我在確定排序順序(我假設'sortOrder'的變量)有問題。 或者還有其他的方式嗎?

+1

請參閱http://stackoverflow.com/questions/20798504/tablesorter-custom-parser-dependent-on-sorting-type,如果你分享一個例子,我也許能幫助你。 – Mottie

回答

1

實際上,從您看到的內容看,您嘗試的是在表格底部對非數字進行排序。我有一個fork of tablesorter,它有一個option named stringTo,它允許你設置你想要字符串(非數字值)的位置來排序:'max','min','top','bottom','none'(將字符串視爲值爲零的數字);所以在你的情況下,將值設置爲'最大'。

Check out the demo

相關問題