使用Angularjs在选择下拉菜单中设置默认值

@H_301_0@ 我有一个对象如下。我必须将其显示为下拉列表:
var list = [{id:4,name:"abc"},{id:600,name:"def"},{id:200,name:"xyz"}]

在我的控制器中,我有一个带有值的变量。该值决定了下拉列表中默认选择的数组中的上述三个项目中的哪一个:

$scope.object.setDefault = 600;

当我创建一个下拉表单项如下:

<select ng-model="object.setDefault" ng-options="r.name for r in list">

我面临两个问题:

>列表生成

<option value="0">abc</option>
<option value="1">def</option>
<option value="2">xyz</option>

代替

<option value="4">abc</option>
<option value="600">def</option>
<option value="200">xyz</option>

>没有选项被默认选择,即使我有ng-model =“object.setDefault”

问题1:

生成的HTML是正常的。显然,这是Angular的一个功能,能够使用任何类型的对象作为选择的值。 Angular执行HTML选项值与ng模型中的值之间的映射。
另请参阅Umur在这个问题上的评论How to set value property in angularjs ng-options?

问题二:

确保使用以下ng选项:

<select ng-model="object.item" ng-options="item.id as item.name for item in list" />

并将其放在您的控制器中以选择默认值:

object.item = 4

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...