[英]option not selected angularjs select
您好我正在嘗試通過使用字符串值在選擇選項中選擇一個數組項
這是我的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代碼:
var app = angular.module('myApp', []);
app.controller('AppCtrl', function($scope) {
$scope.genders = [ {lbl: 'Male', vl: 'male'}, {lbl: 'Female', vl: 'female'}];
$scope.gender = 'female';
});
當我刪除track by時,此方法工作正常,它選擇了初始值,但是我需要使用track by,因此我可以使用DB中的值(當使用它的track選擇空選項時)。對此有何解決方法? (無需循環選項並比較初始值)。 謝謝這是代碼段http://jsbin.com/qixad/4/edit
當您使用track by
角度將使用表達式中在跟蹤中標識的屬性來確定相同性。 因此,要初始化性別,您所需要做的就是使用已定義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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.