我做了一个简单的angular.js示例,它显示了我的问题:example
我想将select元素的起始值设置为特定值。
<select name="i" id="i" ng-model="selectedItem">
<option ng-repeat="i in items" value="{{i}}">{{i}}</option>
</select>
选项和选择元素完美呈现。但是,就像在示例中一样,当我将控制器中的值设置为6时,页面上的选定值仍然是第一个元素。
scope.selectedItem = 6;
有2个简单按钮可以更改所选值。当你按下它们时,选择没有问题。
编辑:我更新了jsfiddle并删除了未使用的代码并重命名代码以使事情更加清晰EDIT2:我错过了询问是否有可能修复第二个选择元素?不同的是,这个数组包含对象而不是数字。
<select name="o" id="o" ng-model="selectedItem">
<option ng-repeat="o in objects" ng-value="{{o.ID}}">{{o.Text}}</option>
</select>
答案 0 :(得分:2)
您不应该使用ngRepeat
来呈现选项元素,它不应该与select和options一起正常工作。使用ngOptions
,ngModel
:
<select name="i" id="i"
ng-model="selectedItem"
ng-options="i for i in items">
</select>
对于第二个选择框,其ngModel绑定到数组中对象的ID属性,它将是:
<select name="o" id="o"
ng-model="selectedItem"
ng-options="obj.ID as obj.Text for obj in objects">
</select>