@maxprof
Студент

Как перекрасить Label?

Здравствуйте, есть такой код JS:
productApp.filter('dateMark', function(){
  return function(srok, TERMIN){
    var nowDate = new Date;
    console.log(srok);
    if (Date.parse(nowDate) < ( Date.parse(srok) + ((86400000 * TERMIN)))){
      return 'Свежий товар';
    }
     else if (Date.parse(nowDate) > ( Date.parse(srok) + ((86400000 * TERMIN)))){
      return 'Термин хранения кончается';
    }
      else return 'Ошибка';
  }
});

И вот такой вывод результата
<span class="label label-success" >Дата изготовления: {{product.data | dateMark : product.termin}} </span>


Как перекрасить этот label например в красный цвет, если выполняется это условие:
else if (Date.parse(nowDate) > ( Date.parse(srok) + ((86400000 * TERMIN)))){
      return 'Термин хранения кончается';
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
@xom9lk
Самый простой и "топорный вариант":
<span ng-init="result = (product.data | dateMark : product.termin)" ng-class="result.class" >Дата изготовления: {{result.text}} </span>

productApp.filter('dateMark', function(){
  return function(srok, TERMIN){
    var nowDate = new Date;
    console.log(srok);
    if (Date.parse(nowDate) < ( Date.parse(srok) + ((86400000 * TERMIN)))){
         return {text:'Свежий товар', class: 'label label-success'};
    }
     else if (Date.parse(nowDate) > ( Date.parse(srok) + ((86400000 * TERMIN)))){
         return {text:'Термин хранения кончается', class: 'label label-error'};
    }
      else return 'Ошибка';
  }
})


Вот демо:
jsfiddle
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
baskerville42
@baskerville42
Учусь работать (Junior)
Что бы не мучаться так с прощетом даты как вы, посмотрите moment.js. Отличная библиотека в которой можно вертеть с датами как угодно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы