5

我有一个选择:

<select ng-model="p.value" ng-options="q for q in p.value">
<option value="">Select an animation</option>
</select> 

在哪里p.value['AAAAA', 'BBBBB', 'CCCCC']但是当我选择一个选项时,选择会更新并显示一组新的选项,例如:

<option>A</option>
<option>A</option>
<option>A</option>
<option>A</option>
<option>A</option>

通过在模型和选项中使用相同的值,我显然构造了错误的东西。做事的正确方法是什么?

4

1 回答 1

4

您需要将项目数组和模型分开

<div ng-app ng-controller="MyCtrl">
    <select ng-model="p.selected" ng-options="q for q in p.value">
        <option value="">Select an animation</option>
    </select>
    {{p.selected}}
</div>


function MyCtrl($scope) {

    $scope.p = {
        value: ['AAAAA', 'BBBBB', 'CCCCC'],
        selected : null
    };
}

您的示例中发生的情况是,一旦您选择AAAAA p.valuenow 引用字符列表,并且由于ng-options绑定到相同的$scope属性,下拉列表会更新并产生您所看到的结果。

jsfiddle 上的示例

于 2013-05-14T20:02:38.673 回答