Не могу покрасить строку таблицы

Автор Огонек, 09 июля 2017, 10:59:14

« назад - далее »

Огонек

Здравствуйте.
Создаю свою кастомную страницу в которой есть динамически формируемая скриптом таблица

$.each(my_orders, function() {
html_orders += '<tr>';
html_orders += '<td>'+this.id_order+'</td>';
html_orders += '<td>'+this.date_add+'</td>';
html_orders += '<td>'+this.reference+'</td>';
html_orders += '<td>'+this.id_customer+'</span></td>';
html_orders += '<td>'+this.total_paid+'</td>';
html_orders += '<td>'+this.total_paid_real+'</td>';
html_orders += '<td>'+this.credit+'</td>';
html_orders += '<td><input type="checkbox" value="one"></td>';
html_orders += '<td><input type="text" value="0.00"></td>';
html_orders += '</tr>';
}


все работает отлично. Хочу по определенному условию покрасить определенные строки в другой цвет. Сначала решил без условия - просто все строки. Перепробовал штук 10 вариантов - не красятся.
Привожу тот вариант, на котором моя фантазия коничилась

html_orders += '<tr style="bgcolor:#00ff00;">';

Может кто-нибудь поможет? Желательно уже с использованием if (a>b) ... :)

Adik

Класс присваивать или с вообще стилями обойтись можно.

Огонек

Цитата: Adik от 09 июля 2017, 11:14:55
Класс присваивать
Я уже пытался, видимо не правильно как-то
Я просто не стал перечислять все неудачные попытки

Adik

/* нечетная строка  */
.mytable tr:nth-child(2n+1){ ...
/* четная строка  */
.mytable tr:nth-child(2n){ ...

или
.mytable tr { ... 1-я строка
.mytabletr + tr { ... 2-я строка
.mytable tr + tr + tr { ... 3-я строка
.....

Adik

Цитата: Огонек от 09 июля 2017, 11:17:04
Цитата: Adik от 09 июля 2017, 11:14:55
Класс присваивать
Я уже пытался, видимо не правильно как-то
Я просто не стал перечислять все неудачные попытки
Класс прямо в tpl для тега
<table class="mytable"

Огонек

Цитата: Adik от 09 июля 2017, 11:14:55
Класс прямо в tpl для тега
Это понял, спасибо.
А дальше как и где связываются между собой "if (a>b)", ".maytable tr" и "color"?
У меня уже после часа всевозможных комбинаций, перестановок, форумов, справочников полный взрыв серого вещества.

DarinSr


Огонек

Цитата: DarinSr от 09 июля 2017, 11:47:05
Справочник javascript: if - http://javascript.ru/IF
Согласен, переборщил с формулировкой, но остальная часть вопроса все-равно актуальна:
А дальше как и где связываются между собой  ".maytable tr" и "color"?

DarinSr

Не понятно, что связывать?
var class = '';
if (condition)
  class='class_red';
else
  class='class_black';

потом используйте переменную class, которая содержит название класса

Огонек

Цитата: DarinSr от 09 июля 2017, 12:00:18
Не понятно, что связывать?
var class = '';
if (condition)
  class='class_red';
else
  class='class_black';

потом используйте переменную class, которая содержит название класса
Переформулирую свой вопрос:
Какой класс, стиль или атрибут добавить в описание динамически формируемой строки в таблице для изменения цвета этой строки по условию condition?

$.each(my_payms, function() {
if (condition)
html_carts += '<tr красный_цвет>';
else
html_carts += '<tr>';
html_carts += '<td>Вася</td>';
        ...


Миколас

Тот который ты сам создашь в файле css. Называй его как хочешь.

Огонек

Цитата: Миколас от 09 июля 2017, 12:44:05
Тот который ты сам создашь в файле css. Называй его как хочешь.
Я хотел бы попробовать обойтись без изменения файлов css.
Возможно это?
Если нет,  то так?

$.each(my_payms, function() {
if (condition)
html_carts += '<tr class='class_red'>';
else
html_carts += '<tr class='class_black'>';
html_carts += '<td>Вася</td>';
        ...

Миколас

Можно и без измений
html_carts += '<tr style="background:red">';

Огонек

Цитата: Миколас от 09 июля 2017, 12:57:36
Можно и без измений
html_carts += '<tr style="background:red">';
этот вариант не работает (почти такой уже стоит в моем первом посте)
поэтому я сюда и обратился

Миколас

Спорим что сработает?
Почти да не такой, сам найди отличия  ;)