您好我试图通过使用字符串值
在选择选项中选择一个数组项这是我的HTML:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body ng-controller="AppCtrl" ng-app="myApp">
<select ng-model="gender" ng-options="g.vl as g.lbl for g in genders track by g.vl">
</select>
</body>
</html>
JS CODE:
var app = angular.module('myApp', []);
app.controller('AppCtrl', function($scope) {
$scope.genders = [ {lbl: 'Male', vl: 'male'}, {lbl: 'Female', vl: 'female'}];
$scope.gender = 'female';
});
当我删除轨道时,这工作正常,它选择初始值,但我需要使用轨道,所以我可以使用DB中的值(当使用轨道时,它选择空选项)..任何解决方法为了这? (不循环选项并比较初始值)。谢谢以下是代码http://jsbin.com/qixad/4/edit
的代码段答案 0 :(得分:0)
当您使用track by
时,angular将使用track by expression中标识的属性来确定相同性。因此,要初始化性别,您需要做的就是使用定义了vl属性的对象初始化它:
$scope.gender = {vl:'female'}; //OR
$scope.gender = $scope.genders[1];
此外,ng-options表达式中的键必须是模型本身。
<select ng-model="gender" ng-options="g as g.lbl for g in genders track by g.vl">
</select>