Автор Тема: Не могу покрасить строку таблицы  (Прочитано 1057 раз)

09 Июль 2017, 13:07:00
Ответ #15
  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я написал, что не работает, потому что уже проверил :(
прямо отсюда скопипастил
09 Июль 2017, 13:14:35
Ответ #16
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Здравствуйте.
Создаю свою кастомную страницу в которой есть динамически формируемая скриптом таблица
$.each(my_orders, function() {
все работает отлично. Хочу по определенному условию покрасить определенные строки в другой цвет. Сначала решил без условия - просто все строки. Перепробовал штук 10 вариантов - не красятся.
Для чего each? Почему не for?
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
09 Июль 2017, 13:20:20
Ответ #17
  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для чего each? Почему не for?
без каких-либо причин, просто делая свои формы, копирую готовые решения из "родных" форм престы.
так и здесь: скопировал форму "новый заказ" и вношу в неё правки под себя
09 Июль 2017, 13:47:46
Ответ #18
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
$(').each(function(){
    if (a>b)
      $('tr').addClass('color');
});
09 Июль 2017, 13:52:42
Ответ #19
  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
$(').each(function(){
    if (a>b)
      $('tr').addClass('color');
});
Не то чтобы не совсем понял, скорее совсем не понял как это привязать к вот этому
$.each(my_payms, function() {
if (a>b)
html_carts += '<tr красный_цвет>';
else
html_carts += '<tr>';
09 Июль 2017, 14:42:41
Ответ #20
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
После того как создали таблицу добавляете к нужным строкам класс или стили.
09 Июль 2017, 14:47:04
Ответ #21
  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Т.е. два цикла each ?
в первом создание таблицы, а во втором раскраска?
09 Июль 2017, 15:21:49
Ответ #22
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Нет, если у вас функция each(callback(index, domElement)), то она выполняет функцию callback для каждого из выбранных элементов.
Можно со сменой класса. Или cоздаете функцию изменения свойств css
$("tr").css({background:#000})
Вызываете ее в each.
09 Июль 2017, 15:38:44
Ответ #23
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте.
Создаю свою кастомную страницу в которой есть динамически формируемая скриптом таблица
$.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) ... :)

html_orders += '<tr style="bgcolor:#00ff00;">';
Этот вариант тоже не срабатывает?
В таком случае у вас переопределяются стили для таблицы. Проверить нужно в javascript функциях и правилах css переопределения css.
09 Июль 2017, 15:47:19
Ответ #24
  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Код: [Выделить]
   html_orders += '<tr style="bgcolor:#00ff00;">';
Этот вариант тоже не срабатывает?
В таком случае у вас переопределяются стили для таблицы. Проверить нужно в javascript функциях и правилах css переопределения css.
Если честно, я не понял чем ваш вариант отличается от моего?
Я пошел по следующему пути:
1. Вставил текст
<style type="text/css">
.tablem .colored { background: #9999ff; }
</style>
а в скрипте поставил
$.each(my_payms, function() {
if (condition)
html_orders += '<tr class="colored">';
} else {
html_orders += '<tr>';
}
в результате вместо покраски таблица сжалась на пол-экрана - ?
09 Июль 2017, 16:32:16
Ответ #25
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Я привел ваш код. Вы создаете таблицу уже со стилями. И они не работают. Так не должно быть. Есть какая-то функция, которая меняет стили после отрисовки страницы. Я про такой вариант писал.
09 Июль 2017, 16:40:44
Ответ #26
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Файл с полным кодом javascript приложите, а то не совсем понятно что вы пытаесь сделать.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
09 Июль 2017, 17:35:08
Ответ #27
  • Ветеран
  • *****
  • Сообщений: 105673
  • Репутация: +39553/-0
    • Просмотр профиля
    • Webstudio UwK
Я привел ваш код. Вы создаете таблицу уже со стилями. И они не работают. Так не должно быть. Есть какая-то функция, которая меняет стили после отрисовки страницы. Я про такой вариант писал.
Вот ответ на ваш вопрос.
Фон для таблиц в админке определен в файле /admin/themes/default/css/admin-theme.css
Если хотите заменить на свой, то менять фон нужно у тега td. Так как вы хотите делать (без стилей), то определяйте стили для
html_orders += '<td style="background: green">'+this.id_order+'</td>';В prestashop предусмотрено переопределение стилей админки, лучше сделать через изменения правил css.
Для этого нужно добавить свои стили в файл /admin/themes/default/css/overrides.css.
При обновлении ничего не пропадет.
Cоздание интернет сайтов Webstudio UwK
09 Июль 2017, 17:42:14
Ответ #28
  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я привел ваш код. Вы создаете таблицу уже со стилями. И они не работают. Так не должно быть. Есть какая-то функция, которая меняет стили после отрисовки страницы. Я про такой вариант писал.
Вот ответ на ваш вопрос.
Фон для таблиц в админке определен в файле /admin/themes/default/css/admin-theme.css
Если хотите заменить на свой, то менять фон нужно у тега td. Так как вы хотите делать (без стилей), то определяйте стили для
html_orders += '<td style="background: green">'+this.id_order+'</td>';В prestashop предусмотрено переопределение стилей админки, лучше сделать через изменения правил css.
Для этого нужно добавить свои стили в файл /admin/themes/default/css/overrides.css.
При обновлении ничего не пропадет.

+ Спасибо что вникли - все получилось.