不能从我的控制器中设置select value, Angular JS
Can't set select value from my controller, Angular JS
从这个例子
我试图从我的控制器设置选择值,这对我不起作用,即使我在这里设置了许多问题中解释的id。唯一的区别是我用ng-init设置了一个默认值。如何从控制器设置值?
DOM:<select ng-model="storeorder" ng-init="storeorder = 0" ng-change="storeOrderChange(storeorder)">
<option value="0">-- All orders --</option>
<option ng-repeat="obj in orders" value="{{ obj.id }}">{{ obj.name }}</option>
</select>
JS内部函数:
$scope.orders = data;
$scope.storeorder = parseInt($scope.order); // Tried without parseInt also
console.log($scope.storeorder)
返回正确的值,但它没有在浏览器DOM中设置正确的值。
如果您不想使用ng-options(这是正确的方式),您可以尝试使用
ng-selected : Working Demo : http://jsfiddle.net/nf2m0rr1/
Example :
<body ng-app ng-controller="OrderCtrl">
<div>Order is: {{storeorder}}</div>
<select ng-model="storeorder">
<option ng-selected="{{order.value == storeorder}}" ng-repeat="order in orders" value="{{order.value}}">{{order.displayName}}</option>
</select>
</body>
function OrderCtrl($scope) {
$scope.storeorder = 2;
$scope.orders = [{
value: '1',
displayName: 'Order One'
}, {
value: '2',
displayName: 'Order Two'
}]
}
使用ng-options
:
<select ng-model="storeorder" ng-init="storeorder = 0" ng-change="storeOrderChange(storeorder)" ng-options="obj.id as obj.name for obj in orders">
ng-options解决了50%的问题,但我仍然需要处理DOM中的默认值并更改ng-init选项。这真的让我很困扰。下面是完整的解决方案,它使我不需要从控制器设置任何内容:
<select ng-model="storeorder" ng-options="orderdata.id as orderdata.name for orderdata in orders" ng-init="storeorder = order == 0 ? 0 : order" ng-if="orders.length > 0" ng-change="storeOrderChange(storeorder)">
<option value="">-- All orders --</option>
</select>
相关文章:
- Angular Isolate scope 的 & Binding 返回 getter 函数而不是 value
- Angular service/value 不会从 $(document).ready() 中获取新的变量
- Angular.js:从同一个ng模型中获取不同形式的{display.value}}和$scope.value
- angular.js - update `ng-model` with text.value
- 不能从我的控制器中设置select value, Angular JS
- 定义& # 39;父母# 39;从Angular Ui-Router的参数中获取value
- Angular JS过滤器——如果new value为空,就不更新DOM值
- 通过angular指令设置元素的属性text/value
- Ionic / Angular JS -如何解析onclick中的{{value}}
- Angular对value的搜索范围
- Angular ng-repeat (key, value) |按值排序
- Angular.js - ng-model覆盖我的ng-value在文本输入
- Angular自定义指令不能将value更改为ng-model
- Angular的ng-options在简单的字符串数组中以value为条件
- 在angular/js的key/value对象中从value中获取对应的键
- Angular 2 -表单提交不检索value属性
- Value of Angular ui-select
- Angular: check value ng-blur
- Angular.js / Ng.select with ng.value
- angular.js非get实例操作返回error: value.Push不是一个函数