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>

ページのリロード時に選択したカテゴリを選択済みとして表示するにはどうすればよいですか。 .

編集 私の問題の半分は、データベースから取得した選択したカテゴリを $scope.SelectedCategories に割り当てるという nicost の提案によって解決されますが、残りの問題は、それらのカテゴリもドロップダウンに表示されることです。

ui multiselect のデフォルトの動作は、ドロップダウンから 1 つのカテゴリを選択すると、選択したものとして上のテキスト ボックスに表示され、そのカテゴリがドロップダウン リストから削除され、選択したカテゴリからカテゴリを削除すると、そのカテゴリがドロップダウン リストに表示されることです。 .

私の場合、ページのリロード時に使用可能なカテゴリのリストから選択したカテゴリを削除すると(サーバー側で行っています)、ドロップダウンに表示されませんが、選択したカテゴリを削除すると、そのカテゴリはドロップダウンリストに表示されません。

4

1 に答える 1

2

選択したカテゴリがドロップダウンに表示されないようにするには、そこで値をフィルタリングする必要があります。これは、カスタム フィルターを使用して行うことができます。

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

私はあなたのためにプランカーを作りました。これが役立つことを願っています。

于 2016-04-24T03:58:48.780 に答える