Javascript, сортиране на колони по цифри или букви

Опитвам се да накарам различни колони в таблица за сортиране. Накарах ги да работят за числа, но не знам как да го направя за колони с азбучен ред.

Ето върху какво работя: 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. Всичко, от което се нуждая, е тази основна функционалност за сортиране.


person user2219915    schedule 07.05.2013    source източник
comment
прочетете приетия отговор тук: stackoverflow.com/questions/5285995/   -  person user428517    schedule 07.05.2013
comment
Това изглежда работи като javascript. По-рано казах: Този отговор е ориентиран към jquery, няма да използвам jquery за това.   -  person user2219915    schedule 07.05.2013
comment
изобщо не виждам jquery в този отговор. говори се за използване на функцията sort за сортиране по азбучен ред, което искате да направите, нали?   -  person user428517    schedule 07.05.2013
comment
Да, току-що разбрах, че работи. Благодаря! Сега просто трябва да го накарам да работи с моя код за таблицата.   -  person user2219915    schedule 07.05.2013


Отговори (1)


Сортирането на таблица, изградено с помощта на обикновен 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

person rab    schedule 07.05.2013
comment
Благодаря, но това използва jQuery, но търся решение само с javascript - person user2219915; 07.05.2013
comment
@user2219915 актуализирайте отговора с обикновен js .. Ще добавя сортиране с друга колона, ако имам време! - person rab; 07.05.2013