AngularJS-无法比较ngSelected中的值



我正在尝试自动选择一个<选项>在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';

相关内容

  • 没有找到相关文章

最新更新