Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Фильтр таблички с помощью jquery - гляньте кодик пожалуйста / 7 сообщений из 7, страница 1 из 1
19.03.2013, 12:17
    #38189393
Gena928
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр таблички с помощью jquery - гляньте кодик пожалуйста
День добрый,

раньше не работал с JQuery, а сейчас понадобилось наложить фильтр на таблицу.
Гляньте кодик пожалуйста. Это можно ускорить??

На таблице в 200 строк и около 30 столбцов работает где-то секунду.

Код: 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.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
    // *****************************************************************************************
    // Фильтр
    // *****************************************************************************************
    $('#span_search').click(function () {

        // Заголовок таблички (там фильтры)
        var _TableHeader = $('#Table_ListOfArticles thead tr');

        // Бежим по всем строкам таблицы и применяем фильтры (начало)
        $('#Table_ListOfArticles tbody tr').each(function () {

            // Экземпляр строки таблички
            var _TableRow = $(this);
            _TableRow.show();       // Сразу показываем ее

            // Переменная - надо или нет скрывать строку
            var _TableRowVisible = true;

            // Номер колонки в заголовке
            var _HeaderColNumber = 0;

            // Бежим по всем ячейкам заголовка.
            _TableHeader.children('th').each(function () {

                // Прибавляем бегунок номера колонки
                _HeaderColNumber++;

                // находим внутренний ul...
                $(this).find('ul li ul').first()
                    .find('li input:checkbox:not(:checked)').each(function () {    // внутри него li input (не выделенный)

                        // ID чекбокса (читай поисковое значение)
                        var _MyElementID = $(this).attr('id').toString();

                        // Теперь ищем такое же значение в строке таблицы
                        var _TableRowCellValue = _TableRow.find('td:eq(' + (_HeaderColNumber - 1).toString() + ')')
                                                .text().trim();

                        // Если они совпали, надо выходить
                        if (_TableRowCellValue == _MyElementID) {
                            _TableRowVisible = false;
                            return false;
                        }



                    }); // $(this).find('ul li ul').first()


                    // Если нашли совпадение, то бежать по остальным ячейкам не имеет смысла
                    if (!_TableRowVisible) {
                        return false;
                    }


            }); // _TableHeader.children('th').each(function () {

                // Если строку надо скрыть, то делаем это
                if (!_TableRowVisible) {
                    _TableRow.hide();
                }


                // Бежим по всем строкам таблицы и применяем фильтры (окончание)
        }); // $('#Table_ListOfArticles tbody tr').each(function () {


    });
...
Рейтинг: 0 / 0
19.03.2013, 12:39
    #38189448
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр таблички с помощью jquery - гляньте кодик пожалуйста
Gena928, выложите нормальный пример с таблицей в 200 строк и около 30 столбцов, что работает где-то секунду. На нём и посмотрим.
...
Рейтинг: 0 / 0
19.03.2013, 19:35
    #38190449
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр таблички с помощью jquery - гляньте кодик пожалуйста
Gena928,

я JQuery не знаю...
Тут в одном приложении использую простой алгоритм, скорость на 800 зап. менее полсекунды, пользователь не замечает тормозов.
Фильтр идет без учета регистра и по частичному содержимому. Прилагаю проектик, который я использовал в качестве шаблона.
...
Рейтинг: 0 / 0
19.03.2013, 22:05
    #38190575
Gena928
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр таблички с помощью jquery - гляньте кодик пожалуйста
user89,

спасибо, посмотрю.
...
Рейтинг: 0 / 0
20.03.2013, 08:33
    #38190840
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр таблички с помощью jquery - гляньте кодик пожалуйста
Gena928Гляньте кодик пожалуйста. Это можно ускорить??
На первый взгляд настоящий говнокод! Куча беготни от того и толку мало...

Действительно нужен пример таблички (не обязательно большей) и нормальное объяснение, что именно нужно с ней делать...
...
Рейтинг: 0 / 0
20.03.2013, 16:23
    #38191669
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр таблички с помощью jquery - гляньте кодик пожалуйста
Использовать подходящий плагин?
http://ideaforweb.ru/scripts/40-otlichnykh-plaginov-jquery-dlya-raboty-s-dannymi-i-setkami/] http://ideaforweb.ru/scripts/40-otlichnykh-plaginov-jquery-dlya-raboty-s-dannymi-i-setkami/
...
Рейтинг: 0 / 0
20.03.2013, 17:13
    #38191793
Gena928
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтр таблички с помощью jquery - гляньте кодик пожалуйста
w3dИспользовать подходящий плагин?
http://ideaforweb.ru/scripts/40-otlichnykh-plaginov-jquery-dlya-raboty-s-dannymi-i-setkami/] http://ideaforweb.ru/scripts/40-otlichnykh-plaginov-jquery-dlya-raboty-s-dannymi-i-setkami/

Спасибо за идею.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Фильтр таблички с помощью jquery - гляньте кодик пожалуйста / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]