Выделение только одного <tr> в таблице
Всем привет! Прошу прощения может за глупый вопрос, но что то в голову ничего не лезет, если уже была где-то такая тема ткните носом, а то что то даже не могу определится с поисковым запросом.
Необходимо выделить одну строку в таблице по клику на ней. Сейчас выделяется несколько строк. Например нажал на первую - выделилась первая, нажал на вторую - выделилась вторая. А мне надо так нажал на первую - выделилась нажал на вторую - первая стала не выделенной, а вторая выделилась. Вот что есть из кода function shHide(divId) { var div = document.getElementById(divId); if (div.className == "tab_act") { div.className = ""; } else { div.className = "tab_act"; } } строки формируются в цикле echo '<tr id="view_table'.$i.'" onClick="shHide(\'view_table'.$i.'\')">'; |
vitek25,
Вариант...сохранять данные предыдущего нажатия <!DOCTYPE HTML> <html> <head> <style type="text/css"> tr.tab_act td{ background: #FFFF33 } </style> <title></title> </head> <body> <table width="300" height="100" border="1"> <tr onclick="shHide(this)" > <td></td> <td></td> <td></td> </tr> <tr onclick="shHide(this)"> <td></td> <td></td> <td></td> </tr> <tr onclick="shHide(this)"> <td></td> <td></td> <td></td> </tr> <tr onclick="shHide(this)"> <td></td> <td></td> <td></td> </tr> </table> <script type="text/javascript"> shHide = function (c) { var a; return function (b) { a != b ? (b.className = c, a && (a.className = ""), a = b) : a = b.className = "" } }("tab_act"); </script> </body> </html> |
Цитата:
и добавлям данный класс (Асtive) к текущему кликанутому Cкрытие - разворачивание-выделение устанавливаем в css по классу ======================= (*Хотя поглядел:рони, чуть улучшил - удалил перебор снятия класса с предыдущего элемента в принципе можно было и без ID - запихивать в old_divId = this |
сделал как Рони написал, все отлично работает. Спасибо большое
|
Часовой пояс GMT +3, время: 08:13. |