Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Вниз

Как лучше всего организовать следующие действия   Найти похожие ветки 

 
Cyrax ©   (2007-11-23 17:57) [0]

Как лучше организовать следующие действия.
Имеется произвольное число таблиц, каждая из которых содержит произвольное число строк (tr). Всё зависит от содержимого БД. В каждой строке в первой ячейке имеется checkbox. При щелчке мышью по checkbox"у (ставим или снимаем галочку) по событию onCheck javascript"ами меняем цвет фона строки (tr), в которой находится checkbox. Т.е. выделяем строку при установке галочки в соответствующем checkbox"е и закрашиваем в обычный цвет при снятии галочки.
Далее имеется кнопка reset (input type=reset), которая снимает все галочки. При этом необходимо самому установить цвет фона всех строк в обычный (невыделенный) цвет.
Как это проще всего сделать ? Учитываем, что число таблиц и строк в каждой таблице - произвольное. Было бы неплохо перебрать все checkbox"ы определённого класса...


 
Johnmen ©   (2007-11-23 18:02) [1]

Это надо программу писать...


 
oldman ©   (2007-11-23 18:05) [2]

Кажется, событие OnCheck должно срабатывать и при снятии всех галочек.
Надо смотреть код операции reset.


 
clickmaker ©   (2007-11-23 18:06) [3]

var iCount = document.all.length;
for ( var i=0; i < iCount; i++ )
{
e = document.all[i];
if (e.tagName == "INPUT" && e.type == "checkbox" &&
   e.className == "myCheck")
{
  e.checked = false;
}
}


 
wicked ©   (2007-11-23 18:56) [4]

так правильней и кроссбраузерней
var elem_array = document.getElementsByTagName("INPUT");
var iCount = elem_array.length;
for ( var i=0; i < iCount; i++ )
{
var e = elem_array[i];
if (e.type == "checkbox" && e.className == "myCheck")
{
 e.checked = false;
}
}


для автора темы:
а еще правильней оформить такие штуки в функции
а еще можно "приклеивать" к элементам DOM свои свойства, которые потом и читать


 
Cyrax ©   (2007-11-23 21:54) [5]


> Кажется, событие OnCheck должно срабатывать и при снятии
> всех галочек.

По-моему, события OnCheck вообще нет... Тока OnClick...


> Надо смотреть код операции reset

Где его посмотреть ?..

Организовал цикл по input"ам. Всё нормально работает.
Сложно что-то делать в условиях жёсткого ограничения времени. Даже документацию почитать времени нет...


 
Мазут Береговой   (2007-11-24 11:05) [6]

Вот самый простой вариант на галочку:
<HTML>
<HEAD></HEAD>
<BODY>
<TABLE>
<tr><td><input type="checkbox" onClick="doclick(this)" id="chk01" /></td><td>1</td></tr>
<tr><td><input type="checkbox" onClick="doclick(this)" id="chk02" /></td><td>2</td></tr>
<tr><td><input type="checkbox" onClick="doclick(this)" id="chk03" /></td><td>3</td></tr>
<tr><td><input type="checkbox" onClick="doclick(this)" id="chk04" /></td><td>4</td></tr>
<tr><td><input type="checkbox" onClick="doclick(this)" id="chk05" /></td><td>5</td></tr>
</TABLE>

<script>
function doclick(el)
{
  if(el.checked) el.parentNode.parentNode.style.backgroundColor = "red";
  else el.parentNode.parentNode.style.backgroundColor = "white";
}
</script>
</BODY>
</HTML>
Параметры цвета можно сохранить в глобальной переменной в разделе <HEAD> или в этом же скрипте... или можно подать в функцию через параметры...
el.parentNode.parentNode - обращается к элементу <tr>...

Ну а как все отчекать или расчекать уже сказали...


 
Cyrax ©   (2007-11-24 20:55) [7]

Мазут Береговой, собственно, я так и сделал...



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.046 c
2-1196232702
roughneck
2007-11-28 09:51
2007.12.23
Окна всегда поверх всех окон


3-1187693683
barakuda
2007-08-21 14:54
2007.12.23
update table


15-1195910281
Vendict
2007-11-24 16:18
2007.12.23
Wide vs не-Wide 19"LCD


15-1195568496
Черный Шаман
2007-11-20 17:21
2007.12.23
За что садить программиста, если он всего лишь писал ПО?


2-1196079946
webpauk
2007-11-26 15:25
2007.12.23
FindFirst, FindNext





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский