2014-06-30 50 views
-1

我確定對此有一個很好的解釋,但我似乎無法讓ng-options與我的模型對象一起工作。基本上我想讓我的選擇顯示一個國家列表。選項的值是國家代碼和標籤是國名:ng-options不與對象一起工作

HTML

<div ng-app="demoApp"> 
    <div ng-controller="UserInfoCtrl"> 
     <h1>User Info</h1> 

     <label>Email</label> 
     <input type="text" ng-model="user.email" /> 
     <br /> 

     <label>Country</label> 
     <select ng-model="user.country" ng-options="code as name (code, name) in countriesByCode"> 
     </select> 

     <pre>{{ user | json }}</pre> 
    </div> 
</div> 

的JavaScript

var demoApp = angular.module('demoApp', []); 

demoApp.controller("UserInfoCtrl", function($scope) { 
    $scope.user = { }; 

    $scope.countriesByCode = { 
     'AF' : 'Afghanistan', 
     'CA' : 'Canada', 
     'RU' : 'Russia' 
    }; 
}); 

這裏的jsfiddle

+0

你看了錯誤消息打印在控制檯中? – Julien

回答

1

你缺少一個 '爲' 在您的聲明

code as name for (code, name) in countriesByCode 

以下是更正小提琴:http://jsfiddle.net/8XJX4/2/

希望這會有所幫助。

+0

謝謝!我也弄明白了。在這些事情上很難成爲一個新手:) – AVK

0

對不起,這在我的表達中是一個愚蠢的錯誤。而不是

代碼作爲countriesByCode名(代碼名)

應該

代碼名稱(代碼名)在countriesByCode

相關問題