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.valueに文字のリストを参照ng-optionsし、同じプロパティにバインドされているため$scope、ドロップダウン リストが更新され、表示されている結果が生成されます。

jsfiddle の例

于 2013-05-14T20:02:38.673 に答える