Javascript 启动值未设置所选值

Javascript 启动值未设置所选值,javascript,angularjs,Javascript,Angularjs,我制作了一个简单的angular.js示例,它显示了我的问题: 我想将select元素的起始值设置为特定值 <select name="i" id="i" ng-model="selectedItem"> <option ng-repeat="i in items" value="{{i}}">{{i}}</option> </select> 有两个简单的按钮,只需更改选定的值。当您按下它们时,选择将毫无问题地更改

我制作了一个简单的angular.js示例,它显示了我的问题:

我想将select元素的起始值设置为特定值

    <select name="i" id="i" ng-model="selectedItem">
        <option ng-repeat="i in items" value="{{i}}">{{i}}</option>
    </select>
有两个简单的按钮,只需更改选定的值。当您按下它们时,选择将毫无问题地更改

编辑:我更新了JSFIDLE,删除了未使用的代码,并重命名了代码,使事情变得更加清楚

EDIT2:我没问是否可以修复第二个select元素?不同的是,此数组包含对象而不是数字

    <select name="o" id="o" ng-model="selectedItem">
        <option ng-repeat="o in objects" ng-value="{{o.ID}}">{{o.Text}}</option>
    </select>

{{o.Text}}

您不应该使用
ngRepeat
来渲染选项元素,它不应该与select和options一起正常工作。使用可与
ngModel
一起正常工作的:

<select name="i" id="i" 
        ng-model="selectedItem"
        ng-options="i for i in items">
</select>

对于第二个将ngModel绑定到数组中对象的ID属性的selectbox,它将是:

<select name="o" id="o" 
        ng-model="selectedItem" 
        ng-options="obj.ID as obj.Text for obj in objects">
</select>


演示:

范围变量是
$scope
,而不是
scope
@JimCote我重命名了您的小提琴在整个控制器中使用的依赖项
scope
。您的
测试{selectedItem}
在失控情况下使用选择和选项的最佳实践是使用ng选项。谢谢这很好用。目前我不知道为什么,但我会阅读ngOptions文档。
<select name="o" id="o" 
        ng-model="selectedItem" 
        ng-options="obj.ID as obj.Text for obj in objects">
</select>