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。例如,如果您选择“apple”然后选择“boat”,则selected项目将是“boat”和“apple”(按此顺序!)。

如何保留订单并禁用此自动排序?

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 回答