2011-08-11 37 views
1

使用tablesorter時,我不能正確地分類出來,當我添加一些東西在表格單元格中說數字。 例如。 30 MB,50 MB等Tablesorter:如何忽略單元格中的文本

有無論如何告訴排序忽略單元格中的文本即。在這個例子中的MB?

此外,關於線內樣式和標籤: 如何正確地分類以下內容?

<td><span>upto</span> 50 <br /> MB</td> 

考慮'upto'和'MB'文本以及<br />標記。

回答

3

嘗試將textExtraction選項傳遞給tableSorter方法。

var extractData = function(node) {  
    return $(node).text().replace(/[^0-9.]/g, ''); 
} 

$(document).ready(function()  {   
    $("#yourTable").tableSorter({ 
     textExtraction: extractData 
     }); 
}); 

鏈接DOC:http://tablesorter.com/docs/

檢查例如@:http://tablesorter.com/docs/example-option-text-extraction.html

+0

謝謝你。我在哪裏放?我想在下面的代碼中列出標記爲3的列: – kad

+0

$(document).ready(function(){(「#myTable」)。tablesorter({\t //傳遞headers參數並指定一個對象 頭:{// 分配謝勝利柱(我們開始計數零) 0:{分揀機:假}, \t \t \t 3:{分揀機: '數字'}, \t \t \t 5:{分揀機: 'digit'}, 1:{sorter:false}, \t \t \t 7:{sorter:false} \t \t \t } \t \t }); }); – kad

+0

謝謝你。對不起,以前沒有回覆。它適用於整桌時似乎工作正常。我無法讓它只適用於特定列,而忽略其他列。請任何想法。試圖很難得到正確的語法。但仍然不起作用。 – kad

0

發現這樣做的另一種方式: 改變代碼如下:

在東西線

<td>upto<br /><span>50</span>MB</td> 

應用下面的文本提取:

textExtraction: { 
     3: function(node) { 
       return $(node).find("span:last").html(); 
     } 
    } 
0

在其他的答案報道我用的tablesorter textExtraction feature

與具有既複雜又簡單列標記表打交道時,我發現這非常有用排序屬性的解決方案:

$(".tablesorter").tablesorter({ 
    textExtraction: function(node) { 
     // look for a 'sort' attribute in <td> element 
     var sort = node.getAttribute('sort'); 
     if(sort){ 
      //use it for sorting if found 
      return sort; 
     }else{ 
      //default sorting behaviour if not found 
      return node.innerHTML; 
     } 
    }  
});