Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(js) скрыть/показать столбец таблицы

34K
15 января 2008 года
illiard
2 / / 15.01.2008
Здравствуйте! Мне необходимо предоставить пользователю возможность скрывать или отображать столбцы таблицы. Простое управление видимостью ячеек не подходит, так как в заголовке содержатся объединенные ячейки и из-за этого возникают искажения. Например:
[HTML]<script>
var tableId = 'testtable';
function hide(index){
var tbl = document.getElementById(tableId);
for (var i=0; i<tbl.rows.length; i++)
tbl.rows.cells[index].style.display='none';
}
function show(index){
var tbl = document.getElementById(tableId);
for (var i=0; i<tbl.rows.length; i++)
tbl.rows.cells[index].style.display=(navigator.appName.indexOf('Microsoft')!=-1)?'block':'table-cell';
}
</script>
<table border="1" id="testtable">
<thead>
<tr><th>часть1</th><th colspan="2">часть2</th><th>часть3</th></tr>
<tr>
<th><input type="button" value="скрыть" onclick="hide(0)"></th>
<th><input type="button" value="скрыть" onclick="hide(1)"></th>
<th><input type="button" value="скрыть" onclick="hide(2)"></th>
<th><input type="button" value="скрыть" onclick="hide(3)"></th>
</tr>
</thead>
<tbody>
<tr><td>11</td><td>211</td><td>221</td><td>31</td></tr>
<tr><td>12</td><td>212</td><td>222</td><td>32</td></tr>
</tbody>
</table>
<br>показать: <input type="button" value="1" onclick="show(0)">
<input type="button" value="2" onclick="show(1)">
<input type="button" value="3" onclick="show(2)">
<input type="button" value="4" onclick="show(3)">
[/HTML]
Как быть? Желаемый результат - а-ля MS Excel.
325
15 января 2008 года
Franky
723 / / 10.08.2005
а если помучать ширину требуемого столбца?
tbl.rows.cells[index].style.width=0
33K
16 января 2008 года
drillman
8 / / 26.12.2007
в скрываемых столбцах, если у их заголовка есть colSpan, тоже ставьте colSpan=1:

[HTML]<table border="1" id="testtable">
<thead>
<tr><th>часть1</th><th colspan="2">часть2</th><th>часть3</th></tr>
<tr>
<th><input type="button" value="скрыть" onclick="hide(0)"></th>
<th><input type="button" value="скрыть" onclick="hide(1)"></th>
<th><input type="button" value="скрыть" onclick="hide(2)"></th>
<th><input type="button" value="скрыть" onclick="hide(3)"></th>
</tr>
</thead>
<tbody>
<tr><td>11</td><td colspan=1>211</td><td colspan=1>221</td><td>31</td></tr>
<tr><td>12</td><td colspan=1>212</td><td colspan=1>222</td><td>32</td></tr>
</tbody>
</table>[/HTML]

а потом в скрипте проверяйте есть ли свойство [COLOR="Blue"]colSpan[/COLOR] у оставшегося видимого столбца - и меняете его на соответствующее значение (в данном случае при сокрытии рядом стоящего - на 2, при его появлении - на 1).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог