Выделение ячеек таблицы
Суть вопроса в чем, есть таблица, которая состоит из двух столбцов. При клике по ячейке она изменяет цвет. Нужно, чтобы при в каждой колонке можно было бы выделить только одну ячейку.
Тоесть например был клик по ячейки номер 2, в первой колонке, она перекрасилась, потом клик по ячейки номер 5, в тойжэ колнонке, ячейка номер два возвращяет свой начальный цвет, а ячейка номер 5 перекаршивается. Тоже и с второй колонкой. Просто перекрашивание ячейки сделал, а вот как сделать описаное выше? Код:
<script> |
Подсказали такой код:
$('td').click(function () {
$('td').not($(this).toggleClass('click')).removeClass('click');
});
Но, нюанс, клик по ячейке в первой колонке, потом клик по ячейки второй колонки, первая колонка должны остатся закрашеной, а она возвращает первоначальной цвет. Тоесть нужно выделить дв ячейки, одна в первой колонке, вторая в другой. |
$(document).ready(function(){
$('td').click(function () {
var columnIndex = $(this).parent().find('td').index(this);
var $column = $(this).parent().parent().find('td:nth-child('+ ++columnIndex +')');
if ( $(this).hasClass('click') ) {
$(this).removeClass('click');
} else {
$column.removeClass('click');
$(this).addClass('click');
}
});
});
|
Проблема решена, может кому-то пригодится
<script>
$(document).ready(function() {
$('table').on('click', 'td', function () {
var index = $(this).index();
$('td').filter(function() {
return $(this).index() == index;
}).removeClass('click');
$(this).toggleClass('click');
});
});
</script>
|
arashvg,
:write: можно было добавить 1 строку в первоначальный вариант
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style>
.click {
background-color: green;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function () {
$('td').click(function () {
$('.' + this.className).not(this).removeClass('click');
$(this).toggleClass('click');
});
})
</script>
</head>
<body>
<table class="bordered">
<tr>
<td class="lc" id="id1">Text1</td>
<td class="rc" id="id2">Text2</td>
</tr>
<tr>
<td class="lc" id="id3">Text3</td>
<td class="rc" id="id4">Text4</td>
</tr>
<tr>
<td class="lc" id="id5">Text5</td>
<td class="rc" id="id6">Text6</td>
</tr>
</table>
</body>
</html>
|
| Часовой пояс GMT +3, время: 01:21. |