Добавить класс в выбранные элементы списка ng-repeat

0

Эй, я перебираю массив, используя ng-repeat в своем шаблоне. Список выплескивает 9 элементов списка, и мне бы хотелось изменить цвет фона выбранного элемента списка, но я хочу сделать это так, чтобы можно было выбрать несколько из них и цвет выбранных с другим цветом фона. Первоначально я передал $ event функции click в элементе списка и добавил класс к event.target, но поставил класс во всех элементах списка, а не в выбранном.

<ul>
            <li class="info-items"
                ng-repeat="card in config.cards"
                ng-class="{'error-border': emptyCardsArray}">
                <div class="inner-text"
                     ng-model="userSelection.cards"
                     ng-click="addCard(card.name, $event)">{{card.name}}{{$index + 1}}</div>
            </li>
        </ul>

HTML:

$(event.target).addClass('active.cards');

JS:

Список, который я повторяю, к счастью, не имеет уникального идентификатора, или я бы прошел в ID и создал условие, чтобы проверить, имеют ли выбранные элементы один и применяли класс.

  • 1
    почему вы не используете нг-класс ?
  • 0
    Эта директива обрабатывает несколько вариантов выбора. jtrussell.github.io/angular-selection-model
Показать ещё 3 комментария
Теги:
angularjs-ng-repeat
addclass

1 ответ

0

Для этого просто используйте ng-class.

<ul>
  <li class="info-items"
      ng-repeat="card in config.cards"
      ng-class="{'error-border': emptyCardsArray}">
      <div class="inner-text"
           ng-model="userSelection.cards"
           ng-class="active.cards">{{card.name}}{{$index + 1}}
      </div>
   </li>
</ul>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню