5

次のデータは、 Angular UIを介してselect2に添付されます: (ライブの例はこちら)

JS:

$scope.items = [
  {id: 1, text: 'elephant'}, 
  {id: 2, text: 'desk'}, 
  {id: 3, text: 'car'}, 
  {id: 4, text: 'boat'}, 
  {id: 5, text: 'apple'}
];
$scope.selected = [];

HTML:

<select ui-select2 
        multiple 
        ng-model="selected" 
        data-placeholder="Please select..." 
        style="width:200px">
  <option></option>
  <option ng-repeat="item in items" value="{{item.id}}">{{item.text}}</option>
</select>

ただし、アイテムが選択されるたびに、選択されたアイテムが でソートされidます。例えば、「リンゴ」の次に「ボート」を選ぶと、selectedアイテムは「ボート」「リンゴ」の順で!

順序を保持し、この自動ソートを無効にするにはどうすればよいですか?

4

1 に答える 1

-2

ここに見られるように各アイテムを実行するng-options代わりに使用すると、順序が保持されるように見えますng-repeat

次の行を削除するだけです。

<option ng-repeat="item in items" value="{{item.id}}">{{item.text}}</option>

次に、次のようなディレクティブをタグに追加します。

ng-options="item.text for item in items"

これにより、ID だけでなくアイテム オブジェクト全体が選択されたリストに追加されるため、それを考慮する必要があります。

于 2013-02-06T15:18:46.670 に答える