我试图让表中的不同列进行排序。我让他们为数字工作,但我不知道如何为具有字母数据的列完成它。
以下是我的工作内容: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库或插件。我只需要这个基本的排序功能。
答案 0 :(得分: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