Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.04.2014, 18:31
Новичок на форуме
Отправить личное сообщение для Ongi Посмотреть профиль Найти все сообщения от Ongi
 
Регистрация: 28.04.2014
Сообщений: 2

можно ли сделать код проще?
Есть таблица в 2 колонки. Строки в первой колонке могут повторяться.

название1 4
название2 9
название1 8
название2 5

нужно, чтобы при нажатии на строку, все строки с этим же названием в первой колонке поменяли класс

у меня получилось так:
$("tr").click(function(){
		if ($(this).hasClass("название1")) {
			$(".название1").toggleClass("selected");
		}
		else if ($(this).hasClass("название2")) {
			$(".название2").toggleClass("selected");
		}
	});

все работает, вот только этих вариантов строк много, придется для каждой условие писать, можно ли это сделать проще?
Ответить с цитированием
  #2 (permalink)  
Старый 28.04.2014, 19:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Выделение строк с одинаковым содержанием
Ongi,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .selected  {
    background: #32CD32;
  }
  td{
    width: 50px;
    border: #0000FF 1px solid;
    cursor: pointer;
    padding: 2px 4px;
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function () {
          var $tr = $("tr");
          $tr.click(function () {
              var text = $("td:first", this).text();
              $tr.each(function () {
                  $("td:first", this).text() == text ? $(this).toggleClass("selected") : $(this).removeClass("selected");
              });
          })
      })
  </script>
</head>

<body>
<table style="background-color: #D3D3D3; border-color: #000000">
  <tr>
    <td>название1</td>
    <td></td>
  </tr>
  <tr>
    <td>название2</td>
    <td></td>
  </tr>
  <tr>
    <td>название2</td>
    <td></td>
  </tr>
  <tr>
    <td>название1</td>
    <td></td>
  </tr>
  <tr>
    <td>название1</td>
    <td></td>
  </tr>
</table>
</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 28.04.2014, 20:46
Новичок на форуме
Отправить личное сообщение для Ongi Посмотреть профиль Найти все сообщения от Ongi
 
Регистрация: 28.04.2014
Сообщений: 2

рони, спасибо большое! я бы не додумалась )
только мне надо было, чтобы "нажатия" оставались, убрала removeClass, теперь все как надо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выручайте Нужно сделать так чтобы через HTML Можно было открыть прогу на Компе Это Во HTML HELP Элементы интерфейса 6 25.02.2014 04:39
Можно ли с помощью Javascript сделать скрипт для взлома оков на одноклассниках? D}+{oН Общие вопросы Javascript 2 24.02.2014 10:53
Можно ли сделать снимок камерой средствами JS Den Brown Мобильный JavaScript 9 24.01.2014 14:06
Можно ли сделать снимок камерой средствами JS Den Brown Мобильный JavaScript 0 22.01.2014 04:19
Кто знает как можно в подгружаемой библиотеке сделать выборку данных grigori59 AJAX и COMET 5 20.12.2012 22:47