2015-03-19 2 views
1

У меня есть форма, которая автоматически заполняется, когда вы выбираете имя.HTML AngularJS - select binding

<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- model = "user.country_code" ng-options = "c.code as c.name для c в странах" ' – YOU

ответ

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

Без ng-model =" selected.country "Он отлично работает thx – Weedoze

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" 
    }] 

});