【问题标题】:Javascript, sort columns by numbers or lettersJavascript,按数字或字母对列进行排序
【发布时间】:2013-05-01 18:17:40
【问题描述】:

我正在尝试对表中的不同列进行排序。我让他们处理数字,但我不知道如何处理包含字母数据的列。

这是我的工作:http://jsfiddle.net/nx4Ex/1/

基于此:https://stackoverflow.com/a/7558600/2219915

我会在那里发表评论,但我的代表不够高。

这是我正在使用的脚本。我知道 parsefloat 处理数字,但我不确定如何将其更改为处理数字和/或字母。

function sortTable(){
var tbl = document.getElementById("caltbl").tBodies[0];
var store = [];
for(var i=0, len=tbl.rows.length; i<len; i++){
    var row = tbl.rows[i];
    var column1 = parseFloat(row.cells[0].textContent || row.cells[0].innerText);
    if(!isNaN(column1)) store.push([column1, row]);
}
store.sort(function(x,y){
    return x[0] - y[0];
});
for(var i=0, len=store.length; i<len; i++){
    tbl.appendChild(store[i][1]);
}
store = null;
};

我还应该提到我正在尝试避免使用任何 javascript 库或插件。我只需要这个基本的排序功能。

【问题讨论】:

  • 在此处阅读接受的答案:stackoverflow.com/questions/5285995/…
  • 这似乎可以作为 javascript 工作。之前我说过:那个答案是面向jquery的,我不会为此使用jquery。
  • 我在那个答案中根本看不到任何 jquery。它谈到使用sort 函数按字母顺序排序,这是您想要做的,对吧?
  • 是的,我刚刚意识到它正在工作。谢谢!现在我只需要让它与我的表格代码一起工作。

标签: javascript sorting alphabetical alphabetical-sort


【解决方案1】:

表格的排序,使用纯 JavaScript 构建。我在 chrome 中测试过

$('sort-date').addEventListener('click', function(){
    sortByDate( this );
},false);

$('sort-notify').addEventListener('click', function(){
    sortByNotify( this );
},false);

$('sort-id').addEventListener('click', function(){
    sortById( this );
},false);   

点击列标题,对表格内容进行排序。 jsfiddle

【讨论】:

  • 谢谢,但这是使用 jQuery,但我正在寻找仅 javascript 的解决方案
  • @user2219915 用纯 js 更新答案。如果有时间,我会用其他列添加排序!
猜你喜欢
  • 1970-01-01
  • 2020-08-24
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 2019-07-17
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
相关资源
最近更新 更多