Показать сообщение отдельно
  #10 (permalink)  
Старый 18.07.2017, 15:57
Интересующийся
Отправить личное сообщение для Neo54213 Посмотреть профиль Найти все сообщения от Neo54213
 
Регистрация: 03.07.2017
Сообщений: 20

рони,
итак, i это индекс th(начиная с нуля, первый th - i=0). Дальше мне в функции superSort(вот она кстати ниже) нужно отсортировать массив по какому-либо столбцу. Этот столбец, допустим, третий. Как теперь по индексу получить доступ к полю? Ну т.е. что нам это дает, что мы знаем номер столбца? Как я с помощью цифры, например, 1, которую мы передали в функцию superSort() при клике на th с текстом "Название", получу доступ к полю name в объекте?
var $th = $('section #orderstable th');
    var fieldName = // что сюда записать? массив fieldsNames отсутствует
    var $divSelected = $('div.selected');
    var orderIdx = $divSelected.data('id');
    var order = orders[orderIdx];
if($(clickedHeader).hasClass('asc')) {
        if (typeof order[0][fieldName] == "number") {
            order.sort(function (a, b) {
                return b[fieldName] - a[fieldName];
            });
        } else {
            order.sort(function (a, b) {
                if (a[fieldName] > b[fieldName]) {
                    return -1;
                }
                if (a[fieldName] < b[fieldName]) {
                    return 1;
                }
                return 0;
            });
        }
        $(clickedHeader).addClass('desc').removeClass('asc')
            .find('.indicator-image').attr('src', 'img/desc.png');
    }else{
        if(typeof order[0][fieldName] == "number"){
            order.sort(function(a, b) {
                return a[fieldName]-b[fieldName];
            });
        }else{
            order.sort(function(a, b) {
                if (a[fieldName] < b[fieldName]) {
                    return -1;
                }
                if (a[fieldName] > b[fieldName]) {
                    return 1;
                }
                return 0;
            });
        }
        $(clickedHeader).addClass('asc').removeClass('desc').find('.indicator-image').attr('src', 'img/asc.png');
    }
Ответить с цитированием