|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.10.2016, 05:35 | #1 |
Пользователь
Регистрация: 14.01.2013
Сообщений: 21
|
Показать только те строки таблицы, ячейки которых не пустые
Здравствуйте
Есть таблица, в первом столбце есть текст с наименованием, во второй столбец динамически добавляется/удаляется текст. Изначально строки таблицы скрыты. Нужно - показывать только те строки, в которых есть содержимое ячеек второго столбца. И не показывать строки, если ячейки второго столбцы пустые. Код, который я привел, с поставленной задачей справляется во всех браузерах (которые у меня есть), кроме Мозиллы (49.0.1). . В Мозилле задержка, примерно около секунды, перед показом таблицы Можно как то оптимизировать код? (Этот пример не нужно проверять на быстродействие в браузере, реально в таблице более тысячи строк) Код HTML:
<style type="text/css"> .hid {display:none;} </style> <input type="button" value="Вставить текст" id="send"> <table class="hid" id="tab_decode" border="1" cellspacing="0" cellpadding="0"> <tr class="hid"> <td>наименование 1</td> <td id="d1" class="decode"></td> </tr> <tr class="hid"> <td>наименование 2</td> <td id="d2" class="decode"></td> </tr> <tr class="hid"> <td>наименование 3</td> <td id="d3" class="decode"></td> </tr> <tr class="hid"> <td>наименование 4</td> <td id="d4" class="decode"></td> </tr> </table> Код:
|
11.10.2016, 07:16 | #3 |
Пользователь
Регистрация: 14.01.2013
Сообщений: 21
|
Fenex, но проблема с производительностью почему-то только в Мозилле, в других браузерах все нормально, включая IE
|
11.10.2016, 07:17 | #4 |
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
Возможно у вас получается неоптимальная выборка элементов, которая гоняется много раз в циклах.
Уберите у самой таблицы класс class="hid"(она и так не будет показываться при скрытых ячейках) и попробуйте этот код: Код:
Вообще при работе со строками таблиц их лучше обрамлять в <tbody></tbody> и скрывать/открывать их - работает значительно быстрее, особенно если у вас группы строк. Последний раз редактировалось predefined; 11.10.2016 в 07:27. |
11.10.2016, 17:34 | #5 |
Пользователь
Регистрация: 14.01.2013
Сообщений: 21
|
predefined, вот новый пример с двумя кнопками для вставки текста
Строки, в которых ячейки .decode пустые, должны быть всегда скрыты По клику первой кнопки - текст вставляется в 1 и 4 строку, 2 и 3 строки будут скрыты По клику второй кнопки – весь текст из ячеек .decode удаляется и вставляется новый текст во 2 и 3 строки, но здесь возникает проблема – 1 и 4 строки не скрываются. Вот пример Код HTML:
<style type="text/css"> .hid {display:none;} </style> <input type="button" value="Вставить текст в 1 и 4 строки" id="texl"> <input type="button" value="Вставить текст в 2 и 3 строки" id="tex2"> <table id="tab_decode" border="1" cellspacing="0" cellpadding="0"> <tr class="hid"> <td>наименование 1</td> <td id="d1" class="decode"></td> </tr> <tr class="hid"> <td>наименование 2</td> <td id="d2" class="decode"></td> </tr> <tr class="hid"> <td>наименование 3</td> <td id="d3" class="decode"></td> </tr> <tr class="hid"> <td>наименование 4</td> <td id="d4" class="decode"></td> </tr> </table> Код:
|
11.10.2016, 19:56 | #6 |
Пользователь
Регистрация: 14.01.2013
Сообщений: 21
|
predefined, немного изменив скрытие/показ таблицы, все стало OK
Раньше было – при загрузке страницы сама таблица (table) и строки (tr) были скрыты (наверное поэтому таблица открывалась с задержкой). Теперь сделал так - при загрузке страницы скрыта только таблица. код в примере обновил |
12.10.2016, 06:12 | #7 | |
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
Цитата:
Если всё работает - отлично. Если будет тормозить - вот самый быстрый вариант прохода по ячейкам таблицы: Код:
Код:
Последний раз редактировалось predefined; 12.10.2016 в 06:35. |
|
12.10.2016, 06:36 | #8 |
Пользователь
Регистрация: 14.01.2013
Сообщений: 21
|
predefined, большое спасибо!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Напечатать только те строки из файла, в которых есть буква s. | IHML | Помощь студентам | 0 | 14.03.2016 01:05 |
DBGridEh: показать только нужные строки | new player | Компоненты Delphi | 10 | 07.10.2010 22:40 |
Как скопировать данные из таблицы, включающей пустые строки | yursanch | Microsoft Office Excel | 5 | 22.09.2010 16:07 |
после добавления таблицы в конце файла появляются пустые строки | OLEG'arh | Microsoft Office Word | 4 | 17.09.2010 16:11 |
подсчитать кол-во строк в которых содержаться пустые ячейки | mars56 | Microsoft Office Excel | 4 | 24.02.2010 11:17 |