如何在ng选项中设置默认值
How to set default value in ng-options
我可以在angularjs中设置一个默认值为的下拉列表
<select name="repeatSelect" id="repeatSelect" ng-model="repeatSelect" ng-init=" repeatSelect = data[0].id">
<option ng-repeat="option in data" value="{{option.id}}">{{option.name}}</option>
</select>
如何使用ng-options
实现相同的功能?我和一起旅行
<select name="repeatSelect"
id="repeatSelect"
ng-model="repeatSelect"
ng-init=" repeatSelect = option.id"
ng-options="option.name for option in data track by option.id">
</select>
但没有用。样品小提琴在这里
使用ng-init
设置ng-options
的默认值。
这是:演示
<select name="repeatSelect"
id="repeatSelect"
ng-model="repeatSelect"
ng-init=" repeatSelect = data[0].id"
ng-options="option.id as option.name for option in data">
</select>
所有这些都错过了ng-init
的使用。
从角度文档:
此指令可能会被滥用,从而在模板中添加不必要的逻辑量。ngInit只有一些适当的用途,例如用于混淆ngRepeat的特殊属性,如下面的演示所示;以及用于经由服务器端脚本注入数据。除了这几种情况外,您应该使用控制器而不是ngInit来初始化作用域上的值。
源文档
在我看来,设置默认值的正确方法是简单地用从ng-options
中选择的值预先填充ng-model
属性,剩下的由angular完成
本质上,当您定义$scope
属性时,您的select将绑定,为其分配data
数组中的默认值。如果您的data
数组来自ajax请求,只需在获得data
后进行分配即可。
.controller('test', ['$scope', function ($scope) {
$scope.data = [{name: 'one', id: 1}, {name: 'two', id: 2},{name: 'three', id: 3}];
$scope.repeatSelect= $scope.data[0];
}]);
有一点需要注意。如果你在表达式中使用as
关键字,你必须为你的ng-model
分配实际属性,让它选择。
请参阅完整的小提琴演示:http://jsfiddle.net/kb99gee8/
我已经使用您的代码和ng-options
实现了您所需要的,就像您提到的一样,这里是Working Fiddle
完整代码
<div ng-app="ngrepeatSelect">
<div ng-controller="ExampleController">
<form name="myForm">
<label for="repeatSelect">Angular select:</label>
<select name="repeatSelect"
id="repeatSelect"
ng-model="repeatSelect"
ng-init=" repeatSelect = data[0]"
ng-options="option.name for option in data track by option.id">
</select>
</form>
<br/> <tt>Selected value: {{repeatSelect.id}}</tt>
</div>
</div>
<br/>
我将举一个例子HTML部分
<select class="form-control" ng-model="data.selectedOption" required ng-options="option.name as option.name for option in venueNamelists" ng-change="getmediationRooms(data.selectedOption)"></select>
在我的控制器中
$scope.data={selectedOption:$scope.venueNamelists[i].name};
模型值应该等于venueNamelists中的键值对。
相关文章:
- jQuery Datepicker从日期开始设置默认值
- 在KeystoneJS中为Types.Money设置默认值
- 如何为显示jquery滑块值的文本框设置默认值
- 在Bootstrap下拉菜单中设置默认值
- 如何为 jquery 自动完成框设置默认值
- 聚合物:如何为具有嵌套特性的图纸选项卡设置默认值
- 使用复杂对象上的删除为选择框手动设置默认值
- 在动态输入数据的下拉菜单中设置默认值
- 有什么方法可以在超级测试中设置默认值吗
- 挖空 + 选择2 -- 设置默认值
- ||运算符在 null 时不设置默认值
- 如何在 Select2 输入中设置默认值,并在 asp.net mvc 中标记
- 在链接回以前访问过的页面时设置默认值
- PHP 设置默认值以从 ajax 页面返回记录
- 在文档加载时使用 JQuery 在下拉字段中设置默认值
- 如何为 Google 放置 API 自动完成文本框设置默认值
- 为具有未定义值的嵌套对象设置默认值的最简单方法
- AngularJS更新ng-model的值以设置默认值
- 剑道 UI 组合框 - 设置默认值
- JQuery 日期选取器设置默认值