我正在尝试自动选择一个<选项>在ngRepeat中使用ngSelected。
一个选项在生成的html中具有"selected"属性,并且在<选项>标签,但是<选择>似乎没有选定的选项。
$scope.selected = 2;
$scope.isSelected = function(x) {
return (x == $scope.selected);
};
$scope.myList = [{
"id": "1", "name": "aaa"
}, {
"id": "2", "name": "bbb"
}, {
"id": "3", "name": "xxx"
}];
<select ng-model="selected">
<option ng-repeat="item in myList" value="{{item.id}}"
ng-selected="isSelected(item.id)">
{{item.name}} [selected {{item.id == selected}}]</option>
</select>
我试着解析Int值,将它们转换为字符串,评估比较。。。但情况是一样的:显然,没有选择任何选项。
https://jsfiddle.net/monguz/yxsqgz5n/
我错过了什么?感谢
编辑:感谢您的评论和回复。
小提琴展示了我真实代码的简化版本。我已经尝试过"selected"作为字符串,但我不能100%确定它的类型。
无论如何,我不明白为什么代码没有显示选定的选项。根据docs的说法,这个表达式是"truthy",所以它应该显示为选中的。
https://docs.angularjs.org/api/ng/directive/ngSelected
我为此在jsfiddle中进行了更改并工作。
$scope.selected = '2';