Видимость строк в таблице
Необходимо в зависимости от сделанного пользователем выбора скрывать или показывать некоторые строки в таблице, пишу такой код:
var table = document.getElementById("ReportTable"); for (var i = 0; i < table.childNodes.length; i++) { var row = table.childNodes[i]; if (.....) { row.setAttribute("visible","false"); } } Но почему-то не работает... |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. По теме вопроса: С таблицами лучше работать через специальные свойства и методы, например в вашем случае перебирать так: var table = document.getElementById("ReportTable"); for (var i = 0; i < table.rows.length; i++) { var row = table.rows[i]; if (.....) { row.setAttribute("visible","false"); } } |
Попробовал так, все равно не работает...
|
Добавлю, что это таблица asp.net, может быть тут какая-то загвоздка
|
Цитата:
|
Почему, скрыть строки то я щочу именно с помощью javascript, с помощью C# то это легко, но не хотелось бы перезагружать страницу
|
Устанавливайте нужным tr "visible=false"
|
Добрый день! У меня такая проблема - нужно скрыть несколько строк таблицы подряд, выглядит примерно так:
<table> <tr><td><a href="#" onclick="openbox('box1'); return false">скрыть/развернуть</a></td></tr> <tr><td class="box1" style="display: none;">1.</td></tr> <tr><td class="box1" style="display: none;">2.</td></tr> <tr><td class="box1" style="display: none;">3.</td></tr> <tr><td><a href="#" onclick="openbox('box2'); return false">скрыть/развернуть</a></td><td></td></tr> <tr><td class="box2" style="display: none;">4.</td></tr> <tr><td class="box2" style="display: none;">5.</td></tr> <tr><td class="box2" style="display: none;">6.</td></tr> </table> Скрипт набросал в лоб, но все равно не работает... может что посоветуете, как лучше сделать и в каком нарпавлении копать? Раньше у меня были блоки <div> с ID, но кода несколько строк то такой вариант не работает, т.к. ID должен быть уникальным. Пробую с getElementsByClassName... но никак. function openbox(id){ display = document.getElementsByClassName(id).style.display; if(display==\'none\'){ document.getElementsByClassName(id).style.display=\'table-row\'; }else{ document.getElementsByClassName(id).style.display=\'none\'; } } </script>'; |
getElementsByClassName вернет массив
|
Часовой пояс GMT +3, время: 00:25. |