AngularJS.When select have ng-model attribute, ng-selected not working
问题描述:
我正在尝试在我的 option
元素中设置 ng-selected
,selected
属性设置为 true
,但 option
没有被选中,当我从 select
中删除 ng-model
时,一切都变得有效.
I'm trying to set ng-selected
in my option
element, selected
attribute is set to true
, but option
not selected, When I remove ng-model
from select
all become working.
问题:当我使用模型时如何选择option
?
The question: How to make option
selected, when I'm using the model?
这是我的plunker(selected
在这里不起作用)
Here is my plunker (selected
not working here)
我的代码:
var app = angular.module("plunker", []);
app.controller("TestController", ["$scope", function($scope) {
$scope.test = 1;
$scope.array = [
{"id": 1, "name": "first"},
{"id": 2, "name": "second"},
{"id": 3, "name": "third"}
];
}]);
我的模板:
<body ng-controller="TestController">
Selected item must be {{ array[test-1].name }}
<select ng-model="myModel">
<option value="">Choose item..</option>
<option ng-repeat="item in array"
ng-value="item.id"
ng-selected="item.id == test">
{{ item.name }} ({{item.id == test}})
</option>
</select>
</body>
非常感谢您的帮助!
答
不要将 ngSelected 与 ngRepeat 一起使用.使用 ngOptions:
Don't use ngSelected with ngRepeat. Go with ngOptions:
<body ng-controller="TestController">
Selected item must be {{ array[test-1].name }}
<select ng-model="myModel" ng-options="item.id as item.name for item in array">
<option value="">Choose item..</option>
</select>
</body>