Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2010, 10:51   #1
%$PROregRAMi$t%
Заблокирован
 
Регистрация: 28.05.2010
Сообщений: 65
По умолчанию

Здравствуйте, спецы.

Есть код:
Код HTML:
<html>
<head>
<title>
</title>
</head>
<body>

<script>
var tableId = 'testtable';
function hide(index){
   var tbl = document.getElementById(tableId);
   for (var i=0; i<tbl.rows.length; i++)
      tbl.rows[i].cells[index].style.display='none';
}
function show(index){
   var tbl = document.getElementById(tableId);
   for (var i=0; i<tbl.rows.length; i++)
      tbl.rows[i].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)">
Как его подстроить для работы с такой же табличкой на этой же странице?
Вот к примеру для такой таблицы.
PHP код:
  <table border="1" id="testtable2">
<
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)">

</
body>
</
html
И еще один момент некорректно работает с объединенными ячейками.
Нужно чтобы объединенные ячейки не скрывались вообще.

Сорри за тупизм, но в яве я бот. Учусь понемногу.

А вообще - есть ли где готовые скрипты, для отображения-скрытия столбцов таблицы??


Спасибо за дельные советы.

тут надо класс делать походу.....

Последний раз редактировалось Stilet; 19.12.2010 в 10:56.
%$PROregRAMi$t% вне форума Ответить с цитированием
Старый 12.12.2010, 11:57   #2
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Ребята забудьте о таблицах юзайте div. Тогда и скрыть и показать будет легче. Так как можно будет установить свойство css display:none;
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 12.12.2010, 17:29   #3
%$PROregRAMi$t%
Заблокирован
 
Регистрация: 28.05.2010
Сообщений: 65
По умолчанию

Нее. У меня таблица циклом сама генерится из массива пхп, а данные берутся из базы мускул.
В DIV JS - насколько я понял можно скрыть отдельный элемент с помощью css display:none; , же либо задать класс для скрытия всех элементов или элементов которые удовлетворяют условию. И конкретное место которое нужно скрыть - его нужно указывать в коде.

В данном же примере меня интересует возможность скрыть-показать столбцы нескольких таблиц на одной странице. Вот суть задачи.

А вот как это реализовать - этот вопрос вынесен в сабж. Мож где можно скачать подобного рода скрипты - буду весьма благодарен, ибо яву учить не очень потяге

яваскрипт в примере использует ID таблицы, который должен быть уникальным для каждой таблицы. Он же указывается в значении переменной.
Как правильно подстроить этот JS для работы с несколькими таблицами??

Последний раз редактировалось %$PROregRAMi$t%; 12.12.2010 в 17:32.
%$PROregRAMi$t% вне форума Ответить с цитированием
Старый 12.12.2010, 19:54   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Есть полно готовых скриптов таблиц (гридов), с разными возможностями - от довольно простых/кустарных до полнофункциональных, но платных. По-английски ключевое слово - grid / WebGrid
motorway вне форума Ответить с цитированием
Старый 15.12.2010, 03:42   #5
%$PROregRAMi$t%
Заблокирован
 
Регистрация: 28.05.2010
Сообщений: 65
По умолчанию

вебгрид это не то. А кто нить можеть дать дельный совет по сабжу?

Может быть весь скрипт вынести в одну функцию, и идишник каждой таблицы передавать как параметр функции?
Но как это правильно сделать тогда?..... И как вообще в JS вызываются вложенные функции? Взрыв мозга прям! Гугл плечами пожимает.........

Последний раз редактировалось Stilet; 19.12.2010 в 10:57.
%$PROregRAMi$t% вне форума Ответить с цитированием
Старый 06.01.2011, 08:03   #6
%$PROregRAMi$t%
Заблокирован
 
Регистрация: 28.05.2010
Сообщений: 65
По умолчанию

Две недели дуплил над этим :

Вот решение:
Код:
function hide(index, tableId){
   var tbl = document.getElementById(tableId);
   for (var i=0; i<tbl.rows.length; i++)
      tbl.rows[i].cells[index].style.display='none';
}
function show(index, tableId){
   var tbl = document.getElementById(tableId);
   for (var i=0; i<tbl.rows.length; i++)
      tbl.rows[i].cells[index].style.display=(navigator.appName.indexOf('Microsoft')!=-1)?'block':'table-cell';
}
Код HTML:
<table border="1" id="testtable">
	<thead>
		<tr><th>часть1</th><th colspan="2">часть2</th><th>часть3</th></tr>
		<tr>
		<th><a href="#" onclick='hide("0", "testtable");'>скрыть</a></th>
		<th><input type="button" value="скрыть" onclick='hide("1", "testtable");'></th>
		<th><input type="button" value="скрыть" onclick='hide("2", "testtable");'></th>
		<th><input type="button" value="скрыть" onclick='hide("3", "testtable");'></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", "testtable");'> 
	      <input type="button" value="2" onclick='show("1", "testtable");'>
	      <input type="button" value="3" onclick='show("2", "testtable");'>
	      <input type="button" value="4" onclick='show("3", "testtable");'>
		   
		  
<table border="1" id="testtable2">
<thead>
<tr><th>часть1</th><th colspan="2">часть2</th><th>часть3</th></tr>
<tr>
   <th><a href="#" onclick='hide("0", "testtable2");'>скрыть</a></th>
   <th><input type="button" value="скрыть" onclick='hide("1", "testtable2");'></th>
   <th><input type="button" value="скрыть" onclick='hide("2", "testtable2");'></th>
   <th><input type="button" value="скрыть" onclick='hide("3", "testtable2");'></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", "testtable2");'> 
	      <input type="button" value="2" onclick='show("1", "testtable2");'>
	      <input type="button" value="3" onclick='show("2", "testtable2");'>
	      <input type="button" value="4" onclick='show("3", "testtable2");'>
Т. е. ID указывается как параметр вызываемой функции, а это легко делается при генерации таблицы через пхп.
То что мне и надо. Все, спецы всем спасибо - сам допер ))).

Последний раз редактировалось %$PROregRAMi$t%; 06.01.2011 в 08:06.
%$PROregRAMi$t% вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как создать кнопки для работы с базой chib_sv Microsoft Office Access 2 20.10.2010 08:07
Как настроить Firebird для работы по Интернету artemavd Работа с сетью в Delphi 3 18.07.2010 17:10
работа с несколькими окнами одновременно Dimarik Общие вопросы .NET 0 09.05.2010 09:43
Работа с несколькими документами одновременно Busine2009 Microsoft Office Word 12 04.06.2009 19:53
Для облегчения работы с TFS - приложение для работы над дефектами и задачами Аякс Софт 1 18.03.2009 11:43