[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: id для строк таблицы
zvezda_t
у меня есть строки- которые создаются в цикле
print "<table>";
for(....)
{
print "<tr id=tr_color???? >
<td>
<input type='radio' name='r1' value='...' onclick='changeColor(document.all.tr_color????);'>
</td>
</tr>"
;
}
print "</table>";


Вот как мне передать в функцию changeColor нужную строку??
пыталась так писать id=tr_color[".$s."] и соответственно onclick='changeColor(document.all.tr_color[".$s."]);'> не рабртает(

По сути мне нужно при вызове функции
changeColor(document.all.tr_color????);

все ячейки во всех строках цикла for() окрасить определённым цветом...
как это можно сделать, подскажите пожалуйста??



Спустя 2 часа, 45 минут, 23 секунды (26.04.2010 - 09:37) moskitos80 написал(а):
Если выносить в отдельную функцию то вот так будет работать:
<script type="text/javascript">
function changeColor(id)
{
$tr = document.getElementById(id);
$tr.bgColor='red';
}
</script>


<?php

print '<table border="1">';
for($i=0;$i<5;$i++)
{
print '<tr id="'.$i.'" >
<td>
<input type="radio" name="r1" value="22222" onclick="changeColor('
.$i.');">
</td>
</tr>'
;
}
print '</table>';
?>

Спустя 2 часа, 53 минуты, 3 секунды (26.04.2010 - 12:30) zvezda_t написал(а):
а можно чтобы id-шником было просто число???? blink.gif

Спустя 1 час, 13 минут, 50 секунд (26.04.2010 - 13:44) Michael написал(а):
Цитата (zvezda_t @ 26.04.2010 - 11:30)
а можно чтобы id-шником было просто число???? blink.gif

Лучше не надо. Оно может и будет работать, но делать так - не по стандартам.

Спустя 16 дней, 18 часов, 17 минут, 53 секунды (13.05.2010 - 08:01) zvezda_t написал(а):
По сути мне нужно при вызове функции
changeColor(document.all.tr_color????);

все ячейки во всех строках цикла for() окрасить определённым цветом...
как это можно сделать, подскажите пожалуйста??

Спустя 2 часа, 29 минут, 49 секунд (13.05.2010 - 10:31) vedmed написал(а):
for(i=0;i<document.getElementsByTagName("tr").length-1;i++) {
document.getElementsByTagName("tr")[i].style.backgroundColor = "red";
document.getElementsByTagName("tr")[i+1].style.backgroundColor = "#000000";
}

Спустя 2 часа, 14 минут, 6 секунд (13.05.2010 - 12:45) zvezda_t написал(а):
vedmed, спасибо!
но дело в том, что помимо <tr>...</tr> которые содержаться в цикле for() - у меня на страничке есть еще <tr></tr> а их то окрашивать не надо!
что делать? huh.gif

Спустя 4 часа, 46 минут, 2 секунды (13.05.2010 - 17:31) andyp написал(а):
Незнаю точно что нужно, но чтобы сильно не отходит от кода из начального сообщения, можно сделать так
<script>
function
changeColor(childOfTD) {
childOfTD.parentNode.parentNode.style.backgroundColor = "#ff0000";
}
</script>

<?php
print
"<table >";
for($i=0;$i<3;$i++)
{
print "<tr>
<td>
<input type='radio' name='r1' onclick='changeColor(this);'>
</td>
</tr>"
;
}
print "</table>";
?>

Спустя 13 часов, 5 минут, 2 секунды (14.05.2010 - 06:36) zvezda_t написал(а):
<script>
function changeColor(childOfTD) {
childOfTD.parentNode.parentNode.style.backgroundColor = "#ff0000";
}
</script>

<?php
print "<table >";
for($i=0;$i<3;$i++)
{
print "<tr>
<td>
<input type='radio' name='r1' onclick='changeColor(this);'>
</td>
</tr>"
;
}
print "</table>";
?>


Скрипт работает почти как надо!
(parentNode- дает возможность подниматься на одного родителя выше.. как удобно!!!!)
Окрашивается вся выбранная строка, но при выборе другой строки предидущая попрежнему окрашена, если выбирать все строки по очереди они все будут окрашены, а так не нужно... Нужно чтобы только выбранная строка была окрашена. вот)))
так возможно?????

Спустя 10 часов, 54 минуты, 4 секунды (14.05.2010 - 17:30) andyp написал(а):
Можно сделать так:

<script>
function
changeColor(childOfTD) {
clearColor();
childOfTD.parentNode.parentNode.style.backgroundColor = "#ff0000";
}
function clearColor() {
var colortable = document.getElementById('colortable');
var stroki = colortable.getElementsByTagName('tr');
for (var i=0;i<stroki.length;i++) {
stroki[i].style.backgroundColor = '';
}
}

</script>

<?php
print
"<table id='colortable'>";
for($i=0;$i<3;$i++)
{
print "<tr>
<td>
<input type='radio' name='r1' onclick='changeColor(this);'>
</td>
</tr>"
;
}
print "</table>";
?>


Если, однако, внутри таблицы будут другие таблицы, то нужно добавить в clearColor() дополнительные проверки или вообще сделать по другому

Спустя 3 дня, 15 часов, 12 минут, 8 секунд (18.05.2010 - 08:43) zvezda_t написал(а):
спасибо! разобралась наконец-то!!! smile.gif


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.