2015-03-19 86 views
1

當您選擇一個名稱時,我得到了一個自動填充的表單。HTML AngularJS - 選擇綁定

<select ng-model="selected" ng-options="user as user.name for user in users" > 
</select> 

所以,當我選擇我的用戶,下一個字段(地址,電子郵件,電話,...)將填充所選用戶的數據。

<input type="text" id="address" value="{{selected.address}}"> 

我的問題是,我有一個選擇所有的國家,我想獲得選定的國家顯示。

<select class="form-control"> 
      <option value="AF">Afghanistan</option> 
      <option value="AX">Aland Islands</option> 
      <option value="AL">Albania</option>..... 

所以,當我選擇「馬克」誰是住在美國,美國,我想選擇的國家,以顯示「美的」,而不是第一個選項「阿富汗」的。

希望我的問題已經夠清楚了。

Thx!

+0

使用NG選項和NG-模型選擇太像'NG- model =「user.country_code」ng-options =「c.code as c.name for c in countries」' – YOU 2015-03-19 11:07:29

回答

0

您可以使用ng-selected指令。

假設你選擇的人都有它具有國家代碼country屬性,並且您有國家的數組對象的國家{code: 'AF', name: 'Afganistan'}

<select ng-model="selected.country" > 
    <option ng-repeat="country in countries" 
      value="{{country.code}}" 
      ng-selected="country == selected.country"> 
     {{country.name}} 
    </option> 
</select> 
+0

Without ng-model =「selected.country」它完美的工作thx – Weedoze 2015-03-19 13:02:41

0

DEMO

<select ng-model="selected" ng-options="user as user.name for user in users" > 
</select> 

    <select class="form-control" ng-model="selected.country"> 
      <option value="AF">Afghanistan</option> 
      <option value="AX">Aland Islands</option> 
      <option value="AL">Albania</option> 

    </select> 

在你的控制器:

angular.module("SO29142872", []) 
    .controller("MainCtrl", function($scope) { 

    $scope.users = [{ 
     "name" : "Mohamed RIas", 
     "country" : "AX" 
    },{ 
     "name" : "Weedoze", 
     "country" : "AL" 
    }] 

});