Javascript,按数字或字母对列进行排序
我试图在表中对不同的列进行排序。我让他们为数字工作,但我不知道如何完成具有字母数据的列。Javascript,按数字或字母对列进行排序
这里是我的工作是什么在:在此基础上http://jsfiddle.net/nx4Ex/1/
:https://*.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库或插件。我需要的是这种基本的排序功能。
表的排序,使用普通的JavaScript构建。我在铬中测试过
$('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 2013-05-07 17:59:44
@ user2219915更新与普通js的答案..我会添加排序与其他列如果我得到时间! – rab 2013-05-07 19:04:41
阅读接受的答案在这里:http://*.com/questions/5285995/how-do-you-sort-letters-in-javascript-with-capital-and-lowercase-letters-combin – sgroves 2013-05-07 17:37:51
这似乎作为JavaScript工作。 以前我说过:这个答案是jQuery的导向,我不打算为此使用jQuery。 – user2219915 2013-05-07 18:13:43
我在那个答案中根本没有看到任何jQuery。它讨论使用'sort'函数按字母顺序排序,这是你想要做的,对吧? – sgroves 2013-05-07 18:15:59