2013-10-14 79 views
0

我試圖修改sorttable.js添加到字母數字排序的選項。排序表字母數字與JS

現在,如果你按字母,在他們的數字字符串將排序是這樣的:

  • 串1
  • 字符串10
  • 字符串100
  • 字符串2

如果我讓排序數字,它排序時忽略字母字符。我試圖弄清楚如何將這兩個函數結合起來,使它們一次完成排序。這裏有兩個功能:

sort_numeric: function(a,b) { 
    aa = parseFloat(a[0].replace(/[^0-9.-]/g,'')); 
    if (isNaN(aa)) aa = 0; 
    bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); 
    if (isNaN(bb)) bb = 0; 
    return aa-bb; 
    }, 
    sort_alpha: function(a,b) { 
    if (a[0]==b[0]) return 0; 
    if (a[0]<b[0]) return -1; 
    return 1; 
    }, 

任何人都可以提供任何關於我如何開始的指針嗎?

+0

你會想'自然排序'看到這裏:http://stackoverflow.com/questions/2802341/natural-sort-of-text-and-numbers-javascript – Bryan

+0

布賴恩,謝謝。那裏鏈接的腳本完美地工作! –

回答

1

在你工作,得到了2號。將它們轉換爲字符串。找出哪個是最長的。將「前導零」添加到另一個,然後像往常一樣對alpha進行排序。

+0

這也適用。非常感謝你。但是,我實施布萊恩鏈接到劇本,因爲我更相信它比我自己的能力來修改腳本。 :) –