Javascript 启动值未设置所选值
我制作了一个简单的angular.js示例,它显示了我的问题: 我想将select元素的起始值设置为特定值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> 有两个简单的按钮,只需更改选定的值。当您按下它们时,选择将毫无问题地更改
<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>