Подскажите пожалуйста, как справиться с задачей.
Есть таблица:
print"
<table>";
for($j=0;$j<=$k;$j++)
{
print"<tr id='tr_id".$p."'>
<td>".$p."</td>
<td>".$num_doc."</td>
<td id='td_num".$num_doc."'
onMouseOver='this.style.background=\"#FFCC33\"'
onMouseOut='this.style.background=\"".@$col."\"'
onclick='changeColor(this,".$p.");'
style='cursor: hand'
>".$value."</td>
</tr>";
}
print "</table>
";
//периодически запускается функция, которая проверяет нужно ли изменить внешний вид ячеек
...
//использую ajax для получения номеров документов, для которых нужно изменить внешний вид ячейки
function Refresh()
{
var a,b,simpleArray;
var k;
a = req_onlank.readyState;
if( a == 4 )
{
b = req_onlank.responseText;
//существуют документы
if(b!='')
{
simpleArray=b.split(" ");
k=simpleArray.length;
alert('k='+k);
//меняем цвет ячейки
d.getElementById('td_num'+simpleArray[0]).style.background="0cff00";
//d.getElementById('td_num'+simpleArray[0]).click(alert('rabotaet'));
}
}
}
Вот у меня получилось пока изменить только цвет ячейки, а мне еще нужно
убрать обработчики
onMouseOver,onMouseOut,onclick.
И еще нужно изменить цвет всей строки, при этом как то учесть что, если строка которую нужно изменить четная то цвет синий, а если нечетная то белые(чередование цветов, с порядковым номером $p).
Спустя 3 часа, 9 минут, 18 секунд (20.01.2011 - 16:36) ИНСИ написал(а):
Цитата |
И еще нужно изменить цвет всей строки, при этом как то учесть что, если строка которую нужно изменить четная то цвет синий, а если нечетная то белые(чередование цветов, с порядковым номером $p). |
это лучше через цикл сделать, примерно так:
if($j % 2 == 0) {
$class = 'white';
else
$class = 'red';
Спустя 36 минут, 36 секунд (20.01.2011 - 17:12) Michael написал(а):
var objtd = d.getElementById('td_num'+simpleArray[0]);
if (objtd) {
objtd.style.background="0cff00";
// остальные действия
}
Цитата |
убрать обработчики onMouseOver,onMouseOut,onclick. |
objtd.onclick = null;
// ...
Цитата |
И еще нужно изменить цвет всей строки, при этом как то учесть что, если строка которую нужно изменить четная то цвет синий, а если нечетная то белые(чередование цветов, с порядковым номером $p). |
var objtr = objtd.parentNode;
if (objtr) {
objtr.style.background="red";
if (objtr.rowIndex %2 == 0) {
// нечетная
// ...
}
}
Спустя 15 часов, 13 минут, 28 секунд (21.01.2011 - 08:26) zvezda_t написал(а):
Michael, ВОТ ЭТО ДА!!! круто!!!!!
спасибо большое!
Можно еще вопрос?
У меня почему то события, так не очистились:
спасибо большое!
Можно еще вопрос?
У меня почему то события, так не очистились:
Цитата |
objtd.onMouseOver= null; objtd.onMouseOut = null; |
не правильно написала?
И еще скажите пожалуйста, какие изменения нужно внести, чтоб и в других браузерах работало, в Мазиле например (я работаю в IE)
Спустя 25 минут, 42 секунды (21.01.2011 - 08:52) Michael написал(а):
objtd.onmouseover= null;
Спустя 14 минут, 48 секунд (21.01.2011 - 09:06) zvezda_t написал(а):
Michael
ю ху ху
ю ху ху
Спустя 1 час, 28 минут, 34 секунды (21.01.2011 - 10:35) zvezda_t написал(а):
Скажите пожалуйста, получить значение input можно только через имя формы?
а если знаешь id ячейки или строки в которой input, как получить значение?
а если знаешь id ячейки или строки в которой input, как получить значение?
print"
<form name='form1'>
<table>";
for($j=0;$j<=$k;$j++)
{
print"<tr id='tr_id".$p."'>
<td>".$p."</td>
<td>".$num_doc."</td>
<td id='td_num".$num_doc."'>".$value."
<input type='hidden' id='stat' name='stat' value='".@$status."'/>
</td>
</tr>";
}
print "</table>
</form>
";
var objtd = d.getElementById('td_num'+b);
var objtr = objtd.parentNode;
var i=objtr.rowIndex;
var k=document.getElementById('form1').stat[i].value;//через форму
Спустя 27 минут, 50 секунд (21.01.2011 - 11:03) Michael написал(а):
var k = objtd.getElementsByTagName('INPUT')[0].value;
Спустя 25 секунд (21.01.2011 - 11:03) zvezda_t написал(а):
ни как не могу изменить:
подскажите пожалуйста где ошибка?
var objtd = d.getElementById('td_aid'+B);
//работает:
objtd.style.background="#FF0016";
//не работает:
objtd.onmouseout = 'document.getElementById(\"td_aid'+ b +'\").style.background=\"#FF0016\"';
//не работает:
objtd.onmouseout = 'this.style.background=\"#FF0016\"';
подскажите пожалуйста где ошибка?
Спустя 1 минута, 40 секунд (21.01.2011 - 11:05) Michael написал(а):
Цитата (zvezda_t @ 21.01.2011 - 10:03) |
//не работает: objtd.onmouseout = 'document.getElementById(\"td_aid'+ b +'\").style.background=\"#FF0016\"'; |
objtd.onmouseout = function(){
document.getElementById("td_aid"+ b).style.background="#FF0016"';
}
Спустя 1 час, 1 минута, 36 секунд (21.01.2011 - 12:07) zvezda_t написал(а):
Michael
работает!
столько нового узнала, большое спасибо что уделил внимание!!!!
работает!
столько нового узнала, большое спасибо что уделил внимание!!!!
_____________
Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)