Изменить цвет линии выберите в таблицах данных с помощью jquery - PullRequest
0 голосов
/ 14 мая 2018

У меня есть таблица данных со строками, и я хотел бы, чтобы, щелкая строку, я хотел бы изменить цвет фона: красный из выбранной строки, а другие строки, которые я хотел бы оставить, фоновым цветом: белый

Я пытаюсь с этим:

$(document).on('click', "#table_user tr:not(:first) td:first-child", function() {
var row_num = parseInt( $(this).parent().index() )+1; 
 if(row_num == $(this).closest('tr').index()+1){

          $(this).css({'background-color':'red'});
        }else{
          $(this).css({'background-color':'white'});
        }
});

Но это не работает

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Если вы хотите, чтобы это происходило только во всех строках, кроме первой, это будет работать:

$("#table_user td").on('click', function() {
  var row_num = parseInt($(this).parent().index()) + 1;
  var cell_num = parseInt($(this).index()) + 1;
  if (row_num != 1) {
    if(cell_num == 1) {
        $(this).css('background-color', 'red')
  } 
  else {
        $(this).css('background-color', 'white');
  }
 }
});
0 голосов
/ 14 мая 2018

В вашем случае условие if всегда приведет к true. Вы можете сделать что-то вроде:

$(document).on('click', "#table_user tr:not(:first) td:first-child", function() {
  $(this).toggleClass("selected");
});

А затем, для класса .selected, вы можете стилизовать его на основе четного или нечетного:

.selected:nth-child(even) {
  background-color: #fff;
}
.selected:nth-child(odd) {
  background-color: #f00;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...