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 user2219915 обновите ответ с помощью простого js .. Я добавлю сортировку с другим столбцом, если у меня будет время! - person rab; 07.05.2013