Подсветка поля заказа, на странице "Мои заказы" в соответствии со статусом заказа.

голоса: 0

Подсветка поля заказа, на странице "Мои заказы" в соответствии со статусом заказа.

Для упращении в работе администратору не помешал бы цветовой фильтр заказов, я пытался сделать это так: http://i.imgur.com/7ehXCyA.png - думал что #istatus-2 - привязан к статусу заказа, а оказывается он привязан к номеру заказа.

Кто сталкивался с такой штукой? Как решали? К чему можно привязаться?

Может есть скрипт смотрящий значение #istatus-2 и подставляющий class в этот же #istatus-2

Зарание спасибо =)

| Автор: | Категория: Интернет-магазин
Редактирование | | Автор: Юрий Крупин

Ответов: 2

голоса: +2
 
Лучший ответ
$('.col_status').each(function(){
  var status = $(this).text(),
  row = $(this).parent(),
  addRowClass = function(color){
    $(row).addClass(color);
  };
  switch(status){
    case 'Новый': addRowClass('new');break
    case 'Оплачен': addRowClass('payed');break
    case 'Отменён': addRowClass('canceled');break
    // добавьте статусы, а у addRowClass() в скобках имя класса
  }
});

 

| Автор:
Выбор ответа лучшим | | Автор: Юрий Крупин

Не пойму почему не срабатывает скрипт.

Может что-то дописать надо было?

<script type="text/javascript">
$('.col_status').each(function(){
var status = $(this).text(),
row = $(this).parent(),
addRowClass = fucntion(color){
$(row).addClass(color);
};
switch(status){
case 'Новый': addRowClass('status1');break
case 'Оплачен': addRowClass('status2');break
case 'Отменён': addRowClass('status3');break
// добавьте статусы, а у addRowClass() в скобках имя класса
}
});
</script>

<style>

.status1 {background:yellow;}
.status2 {background:blue;}
.status3 {background:red;}

</style>

Скрипт должен располагаться после $BODY$, но перед </body> при условии <?if $PAGE_ID$ = 'invoices'?>...<?endif?>

Необходимо добавить все статусы

$('.col_status').each(function(){
  var status = $(this).text(),
  row = $(this).parent(),
  addRowClass = fucntion(color){
    $(row).addClass(color);
  };
  switch(status){
    case 'Новый': addRowClass('new');break
    case 'Оплачен': addRowClass('payed');break
    case 'Оплачивается': addRowClass('');break
    case 'Доставляется': addRowClass('');break
    case 'Доставлен': addRowClass('');break
    case 'Завершен': addRowClass('');break
    case 'Готов': addRowClass('');break
    case 'Отменён': addRowClass('canceled');break
  }
});

Названия статусов должны совпадать.

голоса: 0
$("#istatus-2").addClass("name")     добавит класс .name к элементу с идентификатором #istatus-2
| Автор:
Да это понятно что подставить в ID класс просто, дело в том, что #istatus-2 - это ID поля статуса которое привязано к номеру заказа. А нужно скриптом узнать сам статус "Отменен" или "Новый", а уже потом в соответствие со статусом изменить CLASS.

Вы наверно не поняли сути вопроса, перепрочтите. =)
...