цвет выбранной строки для полосатой таблицы - PullRequest
0 голосов
/ 20 мая 2019

Я хочу, чтобы выбранная строка в моей таблице имела определенный цвет фона. Моя таблица полосатая, и она работает только для белых строк. Я работаю с datatables.net.

Я ожидаю, что серые строки будут одного цвета, если они выбраны, тогда белые строки Но с этим кодом он превращает белые строки в серый щелчком. Однако, если я использую только первый блок if else, он работает для белых строк. Что я делаю не так?

if (this.style.background == 'white') {
  $(this).css('background', '#cce6ff');
} else {
  $(this).css('background', 'white');
}

if (this.style.background == 'lightgrey' && this.style.background != 'white') {
  $(this).css('background', '#cce6ff');
} else if (this.style.background != 'white') {
  $(this).css('background', 'lightgrey');
}

это тоже не работает:

  if (this.style.background == 'white'){
        $(this).css('background', '#b6c7db');
        break;
    }else{
        $(this).css('background', 'white');
        break;
    }
    if (this.style.background == 'lightgrey' && this.style.background != 'white'){
        $(this).css('background', '#cce6ff');

    }else if (this.style.background != 'white'){
        $(this).css('background', 'lightgrey');}

1 Ответ

0 голосов
/ 20 мая 2019

Вы должны убедиться, что this действительно ссылается на строку.Если нет, вам нужно настроить его так, чтобы он был нацелен на строку.

Тем не менее, предполагая, что datatables уже добавляет выбранный класс в строку, вы можете использовать CSS для его нацеливания.

Тогда, если вышеприведенное все еще не работает, весьма вероятно, что вам нужно использовать !important для принудительного ввода значения, которое, без сомнения, будет перезаписано где-то еще

Метод 2: Вы должны сделать это с помощью имеющегося у вас правила CSS и избегать проверки текущего цвета.При выборе удалите класс selected из всех строк и переключите его в выбранной строке.

Содержит ли ваш код обработчик щелчков?У вас есть break операторы во втором фрагменте, этот код внутри цикла?Я чувствую, что у вас есть какое-то неправильное представление об условных выражениях, но мне трудно понять, чего пытаются достичь эти фрагменты кода - например, this.style.background == 'lightgrey' && this.style.background != 'white' является излишне многословным, если фон равен lightgrey, тогда это не будетравное white, второе сравнение может быть удалено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...