使用angular js,我希望默认情况下在下拉菜单中选择service2值。
http://plnkr.co/edit/ssFHZEBuYWPUACEJ5GTb?p=preview
<!doctype html>
<html ng-app>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div ng-controller="MyCntrl">
<select ng-model="prop.value" ng-options="v.name for v in prop.values">
</select>
{{ prop.value.name}}
{{ prop.value.id}}
</div>
</body>
</html>
的script.js
function MyCntrl($scope) {
$scope.prop = { "type": "select",
"name": "Service",
"value":{"id":2, "name": "Service 2" },
"values": [ {"id":1, "name": "Service 1" }, {"id":2, "name": "Service 2" }, {"id":3, "name": "Service 3" }, {"id":4, "name": "Service 4" }]
};
}
这是我想要实现的目标: 1)更改选定的对象ID和名称 2)默认选择一个值并显示其ID和名称
在示例中,第二个服务的ID和名称很好地显示。但是,下拉菜单无法选择服务2.
我该如何解决这个问题?
此致
答案 0 :(得分:1)
你真的使用角度1.0吗?如果您可以使用Angular&gt; = 1.2,请使用track by
功能:
<select ng-model="prop.value" ng-options="v.name for v in prop.values track by v.id">
示例:Plunker
答案 1 :(得分:0)
这就是你所需要的,
<select ng-model="prop.value" ng-init="prop.value = prop.values[1]"
ng-options="v.name for v in prop.values">
请注意ng-init
部分,其中select
选项使用下拉列表的第2项或prop.values
数组进行初始化。
我希望这就是你所要求的。