Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.07.2012, 11:08
Интересующийся
Отправить личное сообщение для Eser Посмотреть профиль Найти все сообщения от Eser
 
Регистрация: 06.12.2011
Сообщений: 25

событие onclick и выделение элементов таблицы
PHP
Цикл:
{
<tr  id='$row[id]' onclick=change_color(\"$row[id]\")>
<td>Название</td> 
}


Javascript
function change_color(value)
{
document.getElementById(value).style.backgroundColor='red';
}


Подскажите как скидывать ранее выбранные элементы без перезагрузки страницы. Что б в один момент времени был выделен только один элемент? В упор не понимаю за что зацепится.

Последний раз редактировалось Eser, 02.07.2012 в 11:16.
Ответить с цитированием
  #2 (permalink)  
Старый 02.07.2012, 11:35
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Eser,
Цветовыделение делаем css(ом) по классу
<style>
td.active {
 .background-color:#red;
}
</style>


<td class="active" ...


При клике - удаляем все классы active с элементов таблы и добавляем к текущему кликнутому

Последний раз редактировалось Deff, 02.07.2012 в 11:38.
Ответить с цитированием
  #3 (permalink)  
Старый 02.07.2012, 12:46
Интересующийся
Отправить личное сообщение для Eser Посмотреть профиль Найти все сообщения от Eser
 
Регистрация: 06.12.2011
Сообщений: 25

Не могли бы показать кусок кода:"удаляем все классы active"
А можно ли document.getElementsByTagName('tr').style.backgrou ndColor=''; вот так?
Т.е при запуске функции у всех tr убираем цвет и ставим у одного:
document.getElementById(value).style.backgroundCol or='red';

Последний раз редактировалось Eser, 02.07.2012 в 12:48.
Ответить с цитированием
  #4 (permalink)  
Старый 02.07.2012, 12:49
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Eser,
Обходите в цикле все ячейки таблы по тегу td и removeAttribute('class')
Ответить с цитированием
  #5 (permalink)  
Старый 02.07.2012, 13:45
Интересующийся
Отправить личное сообщение для Eser Посмотреть профиль Найти все сообщения от Eser
 
Регистрация: 06.12.2011
Сообщений: 25

Переделал все на использование классов.
removeAttribute не работает, в чем моя ошибка?

function change_color(value)
{
var table = document.getElementById('Table');
var trList= table.getElementsByTagName('tr');
for (var i=0;i<trList.length;i++)
{
document.getElementById(trList[i]).removeAttribute('class');
} 

}
Ответить с цитированием
  #6 (permalink)  
Старый 02.07.2012, 13:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

function change_color(value)
{
var table = document.getElementById('Table');
var trList= table.getElementsByTagName('tr');
for (var i=0;i<trList.length;i++)
{
  trList[i].removeAttribute('class');
} 

}
Ответить с цитированием
  #7 (permalink)  
Старый 02.07.2012, 14:12
Интересующийся
Отправить личное сообщение для Eser Посмотреть профиль Найти все сообщения от Eser
 
Регистрация: 06.12.2011
Сообщений: 25

Все большое спасибо.
Получилось как через классы так и через style.backgroundColor='';
Ответить с цитированием
  #8 (permalink)  
Старый 02.07.2012, 15:13
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Eser,
Прост css при многострочной таблице - быстрее
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OnClick ячейки таблицы и ссылки в этой ячейке MasDen Javascript под браузер 2 30.06.2011 09:34
событие onclick chelsea Общие вопросы Javascript 1 17.09.2010 10:31
Событие onClick при нажатии пункта меню Lex4e Общие вопросы Javascript 1 25.06.2010 17:31
Событие onClick avtor01 Events/DOM/Window 3 03.09.2009 17:01
Изменить текст под изображением на котором событие onclick GodRa Общие вопросы Javascript 2 12.11.2008 22:15