簡體   English   中英

未選擇選項angularjs選擇

[英]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>

JS Bin示范

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM