Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 1

Сортировка таблицы

18.06.2015, 08:19. Показов 886. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код для сортировки таблицы,но вот проблема,не могу в нем разобраться,может кто-нибудь поможет с комментариями,или может есть код проще

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function(){ 
    var hc = function (s, c) {return (" " + s + " ").indexOf(" " + c + " ") !== -1},
     ac = function (e, c) {var s = e.className; if (!hc(s, c)) e.className += " " + c}; 
    prepTabs = function (t){
        var el, th, ts = (t && t.className) ? [t] : document.getElementsByTagName("table")
        for (var e in ts) {
            el = ts[e]
            if (!hc(el.className, "sortable")) continue
            if (!el.tHead) {
                th = document.createElement("thead")
                th.appendChild(el.rows[0])
                el.appendChild(th)          }
            th = el.tHead
            ac(th, "c_0_c")
            th.title = "Сортировать"
            th.onclick = clicktab
            el.sorted = NaN
            //reset
            el.tb = el.tBodies[0]
            el.tb_res = el.tb.cloneNode(true) 
            el.th_res = th.cloneNode(true) 
            el.a_color = 0      }   }
        var clicktab = function (e) {
        e = e || window.event
        var obj = e.target || e.srcElement;
        while (!obj.tagName.match(/^(th|td)$/i)) obj = obj.parentNode
    var i = obj.cellIndex, t = obj.parentNode, cn = obj.className, verse = /d\_\d+\_d/.test(cn);
        while (!t.tagName.match(/^table$/i)) t = t.parentNode
        var j = 0, rows = t.tb.rows, l = rows.length, c, v, vi;
        if (e.ctrlKey) { /* reset */
            t.replaceChild(t.tb_res, t.tb); 
            t.replaceChild(t.th_res, t.tHead); 
            prepTabs(t); 
            return;     }        
        if (i !== t.sorted) {
            if (t.a_color < 9) t.a_color++ 
            else t.a_color = 1
            t.sarr = []
            for (j; j < l; j++) {
                c = rows[j].cells[i]
                v = (c) ? (c.innerHTML.replace(/\<[^<>]+?\>/g, '')) : ''
                vi = Math.round(100 * parseFloat(v)).toString()
                if (isFinite(vi)) while (vi.length < 10) vi = '0' + vi
                else vi = v
                t.sarr[j] = [vi + (j/1000000000).toFixed(10), rows[j]]
                //c.innerHTML = t.sarr[j][0]            }       }
        t.sarr = (verse) ? t.sarr.reverse() : t.sarr.sort()
        t.sorted = i        
        var dir = (verse) ? "u" : "d", new_cls = dir + "_" + t.a_color + "_" + dir,
         a_re = /[cdu]\_\d+\_[cdu]/;
        if (a_re.test(cn)) obj.className = cn.replace(a_re, new_cls)
        else obj.className = new_cls
        for (j = 0; j < l; j++) t.tb.appendChild(t.sarr[j][1])
        obj.title = "Отсортировано по " + ((verse) ? "убыванию" : "возрастанию")  }
    window.onload = prepTabs}()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2015, 08:19
Ответы с готовыми решениями:

Сортировка таблицы
Доброго времени суток, возник вопрос, как мне сделать сортировку таблицы с расписанием авиарейсов. Суть такова, какие-то рейсы прибывают,...

Создание и сортировка таблицы
Всем Добрый Вечер. Делаю сайт для типографии никак не могу разобраться с созданием и сортировкай таблицы. Вообщем в таблице нужно сделать...

Сортировка таблицы Javascript
Возможно ли как-нибудь сделать чтобы сортировался не один столбец а все. function createTbl() { var tbl =...

1
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
18.06.2015, 09:42
насколько я понял, сама сортировка находится на 39-47 строке, но вот что она сортирует я не понял и вообще-то это само вызывающаяся ф-ция а там и тело должно быть в скобках и аргументы
короче выглядеть примерно так должно
JavaScript
1
2
3
(function(){
// ........
})()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2015, 09:42
Помогаю со студенческими работами здесь

Сортировка таблицы Javascript
Возможно ли как-нибудь сделать чтобы сортировался не один столбец а все. function createTbl() { var tbl =...

Сортировка строк таблицы
появилась проблема. есть обычная таблица, в одном из столбцов каждой строки цифры, и они часто меняются, а вместе с тем надо менять...

Сортировка таблицы по столбцам
Написал скрипт, стандарты оформления кода еще не успел применить. Напишите, что лучше исправить и какие недочеты. window.onload =...

Сортировка таблицы по возрасту js
Решил попрактиковаться на js. Создал HTML таблицу с 4 полями: ФИО и возраст. Необходимо отсортировать по возрасту. &lt;!DOCTYPE html&gt; ...

сортировка таблицы c помошью javascript
Кто может помочь разобраться с javascript по сортировке таблицы.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru