как скрыть строки в таблицах?

РИЯ

Новичок
как скрыть строки в таблицах?

Данный скрипт скрывает строки таблицы, но он корректно работает если динамически создается одна таблица, а если их 3-и, то строки скрываются в 1-ой таблице, а рис. в 3-ей.
<SCRIPT language=javascript>
function showtree(id) {
for(i=1;i<100;i++)
{
if (id == i && id<1)
{var m = 't' + i;
var f = 'f' + i;
document.all(m).style.display = 'none';
document.images[f].src = 'closed.gif';
}
}
f = 'f' + id;
m = id + 1;
m = 't' + m;
if(document.all(m) != null) {
if(document.all(m).style.display == 'none'){document.all(m).style.display = '';document.images[f].src = 'open.gif';}
else{document.all(m).style.display = 'none';document.images[f].src = 'closed.gif';}
}
}
</SCRIPT>
 

ZigFreeD

Новичок
во первых попробуй заменить all на getElementById

во вторх покажи пример хотябы 2 таблиц...

а вообще расставь алерты везде... чтобы при закрытии показывало строка с каким идентификатором скрывается!
 

РИЯ

Новичок
all поменяла на getElementById не помагает......
таблиц может быть разное количество, формируются они так:
{

$i=0; $k=0;
while($lot_res=mysql_fetch_array($lot))
{
$rate=mysql_query("select * from current_tenders where id_lot='".$lot_res['id']."' ORDER BY price");
$i++;

echo '<tr>
<td align="left"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" class="title_msg"> №'.$i.' - '.$lot_res['name'].'</td>
</tr>
<tr>
<td height="10"></td>
</tr>
<tr>
<td><form action="/ru/users/index.php" method="post" name="form1" id="form1">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<td id=t1>
<tr>
<td width="24%" align="left"><span class="small_title">ставка:</span></td>
<td width="46%" align="center">&nbsp;</td>
<td width="30%" align="center">&nbsp;</td>
</tr>
<tr>
<td align="left"><input name="rate_'.$lot_res['id'].'" type="text" class="input_field" id="rate_'.$lot_res['id'].'" size="15" /></td>
<td align="left"><input name="add_lot_'.$lot_res['id'].'" type="submit" class="input_field" id="add_lot_'.$lot_res['id'].'" value="добавить" /></td>
<td align="right" class="small_title">Всего'.mysql_num_rows($rate).'</td>
</tr>
</table>
</form></td>
</tr>
<tr>
<td><table width="100%" border="1" cellpadding="3" cellspacing="0" bordercolor="#FFFFFF">
<tbody id=t1>
<tr>
<td width="25%" align="center" bgcolor="#7095AF" class="white_text">дата размещения </td>
<td width="24%" height="25" align="center" bgcolor="#7095AF" class="white_text">id пользователя </td>
<td width="22%" align="center" style="cursor:hand" bgcolor="#7095AF" class="white_text" class="hittl" colspan=14> <a onclick="showtree(1)"><img id=f1 src="closed.gif" align="right">сто</a></td>
</tr>';

while($rate_res=mysql_fetch_array($rate))
{
if($k==1) echo("<tbody id=t2 style=dysplay:none>");
$k++;
{
if($rate_res['id_user']==$_SESSION['id_user']){$color="style='color:red'";}else{$color="";}if($rate_res['id_user']==0){$user="ttttt";}else{$user=$rate_res['id_user'];}
echo '<tr onMouseOver="this.bgColor='.$n.'#DEE7F0'.$n.'" onMouseOut="this.bgColor='.$n.'#EEEEEE'.$n.'" bgcolor="#EEEEEE">
<td align="center" class="small_text">'.$rate_res['date_create'].'&nbsp;'.$rate_res['time_create'].'</td>
<td align="center" class="small_text" '.$color.'>№ '.$user.'</td>
<td align="center" class="small_text">'.$rate_res['price'].'</td>
</tr>';
}
}

echo '</tbody> </tbody>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><span class="small_title"><span class="red_text">*</span>в верхней строке таблицы </span></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
</tr>
</table></td>
</tr>';
}

}
 

phpdev2007

Новичок
Jquery помжет в таких вопросах, и есть много примеров в ее мануале.
 

kruglov

Новичок
РИЯ
Вы определитесь, вам надо с PHP разобраться или с JavaScript.
Если со вторым, зачем же вы сюда вываливаете PHP-скрипт?
Сделайте простую табличку с двумя строками в HTML и на ней тренируйтесь, если PHP-скрипт не получается пока полностью осознать. Концентрируйтесь на частностях.
 

RoLex

Новичок
Re: как скрыть строки в таблицах?

1. для чего эта часть кода?
Автор оригинала: РИЯ
for(i=1;i<100;i++)
{
if (id == i && id<1)
{
var m = 't' + i;
var f = 'f' + i;
document.all(m).style.display = 'none';
document.images[f].src = 'closed.gif';
}
}
у тебя условие if (id == i && id<1) никогда не выволнится. так как id может быть равно i, но i у тебя не может быть меньше 1 в твоем цикле for(i=1;i<100;i++)

2. в коде, где ты привела пример с формированием таблиц, у тебя неправильно формируются id у эелементов.
то есть у тебя id=t1 есть у <td id=t1> и есть у <tbody id=t1>
а id должны быть уникальными у элементов!

3. совет. "нарисуй" две таблицы на сранице отдельной. просто создай html док, не динамически. таблицы, хотя бы состоящие из 2х строк и 2х колонок. и в нужном тебе места поставь кнопку, при нажатии на которую будут скрываться твои строки, или таблицы (что там нужно).

помни, что id у любого элемента на странице, должен быть уникальным. поэтому у тебя и скрывается только первая таблица (строка).
 

cDLEON

Онанист РНРСlub
Всегда мечтал познакомится с девушкой-индуской :D
 
Сверху