2013-10-14 38 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

这也适用。非常感谢你。但是,我实施布莱恩链接到剧本,因为我更相信它比我自己的能力来修改脚本。 :) –