Angularjs UI множественный выбор с начальным выбором

0

Я использую Angularjs UI select. Я столкнулся с проблемой.

Это мой код:

Javascript:

$scope.user.SelectedCategories
$scope.Categories= [
  { value: 'Reading', name: 'Reading Books',Id : 4 },
  { value: 'Sports', name: 'Physical Activity',Id : 9 },
  { value: 'Movies', name: 'Entertainment',Id : 7 },
  { value: 'Video Games', name: 'Passion',Id : 11 }
];

HTML:

<div class="input-group">
      <ui-select multiple ng-model="user.SelectedCategories" theme="bootstrap" sortable="true" close-on-select="false" style="width: 350px;">
      <ui-select-match placeholder="Select Categories...">{{$item.Value}}</ui-select-match>
      <ui-select-choices repeat="category.Id as category in  Categories">{{category.Value}}
      </ui-select-choices>
</div>

Теперь, как я могу отображать выбранные категории, выбранные на странице reload. Выбранные категории будут сохранены в базе данных и на перезагрузке страницы, они будут доступны на стороне клиента, но как я могу показать их как выбранные, и они также не должны отображаться в выпадающем списке,

Изменить. Половина моей проблемы решена с помощью ничтожного предложения о назначении выделенных категорий из базы данных в область $ scope. Выбранные категории, но остальная часть проблемы относится к тем категориям, которые также отображаются в раскрывающемся списке.

Поведение ui multiselect по умолчанию заключается в том, что если я выберу одну категорию из раскрывающегося списка, она отображается в указанном выше текстовом поле выше, и эта категория будет удалена из выпадающего списка, и когда я удалю любую категорию из выбранных категорий, которые отображаются в раскрывающемся списке,

В моем случае Если я удаляю выбранные категории из списка доступных категорий (я делаю это на стороне сервера) при перезагрузке страницы, они не отображаются в dropdowm, но когда я удаляю любую выбранную категорию, эта категория не отображается в раскрывающемся списке.

  • 0
    Так в чем же проблема, вы хотите, чтобы выбранный элемент не отображался в выпадающем списке? а выбранные категории больше не выбираются после перезагрузки страницы?
  • 0
    @nicost да выбранные категории не выбраны. Как я могу показать их выбранные?
Показать ещё 2 комментария
Теги:
angular-ui
ui-select
angular-ui-select

1 ответ

2
Лучший ответ

Чтобы предотвратить показ выбранных категорий в раскрывающемся списке, вы должны отфильтровать значения там. Вы можете сделать это с помощью настраиваемого фильтра:

<ui-select-choices  repeat="category in categories | filter: $select.search |filter:customFilter track by category.Id">

Я создал плункер для вас. Надеюсь, это поможет.

  • 0
    Большое спасибо, вот что я искал.
  • 0
    Рад, что смог помочь тебе! ;)

Ещё вопросы

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