2016-11-15 11 views
1

Я хочу выбрать страну из раскрывающегося списка и отправить на сервер, сформировав запрос JSON.Как сравнить значение строки страны со значением выпадающего списка в Angularjs?

И мне нужно отобразить название страны из ответа JSON, сравнив строку ответа с выпадающим значением.

В моем коде для отображения всей страны Я использую внешнюю ссылку JavaScript.

Я пробовал, но я не могу сравнить строковое значение с выпадающим списком.

Я также попробовал вариант ng, но он не работает для меня.

Внешний JS ссылка: <script src="http://iamrohit.in/lab/js/location.js"></script>

<select name="country" class="form-control1 drop countries" required ng-model="model.country" placeholder="select" id="countryId sel1"> 

JSON ответ =

{ 
    "response": { 
    "service": { 

    }, 
    "data": { 
     "country": "India" 
    } 
    } 
} 

ответ

0

ли я понимаю правильно - у вас есть словарь, и вы хотите, чтобы показать этот словарь, как ваш «выбрать» управление и привязать к вашему предмету (найденному в этом словаре) объекту?

Если да, то это решение. Используйте 'track by' для правильного сопоставления привязки данных.

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

 
myApp.controller('myController', function myController($scope){ 
 
    $scope.code = {key:'B', name: 'BB'}; 
 
    
 
    $scope.items = [ 
 
     {key:'A', name: 'AA'}, 
 
     {key:'B', name: 'BB'}, 
 
     {key:'C', name: 'CC'} 
 
    ]; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app='myApp' ng-controller='myController'> 
 
    <select ng-options="item.name for item in items track by item.key" ng-model="code"></select> 
 
</div>

+0

Я могу выбрать, но я хочу, чтобы отобразить название страны в моем ответ, сравнивая его с выпадающим меню и показать название страны из списка. – kalai

+0

Извините, я не понял, что вы имеете в виду :(Не могли бы вы поделиться каким-то примером? – VadimB

+0

Хорошо. На моей странице регистрации я выбрал страну, штат и город. На странице профиля я получу ответ со всеми зарегистрированными данными моего В этом ответе я получу страну как «страна»: «Индия»}. Я присваиваю значение для моей моей ng-модели имени «$ scope.model.country», но я не могу просмотреть имя моей страны в моя страница профиля, вместо этого отображается раскрывающееся меню по умолчанию для всех стран. Когда я проверяю, я видел как «". Мое значение модели не совпадает с выпадающим значением – kalai

0

Ok. На моей странице регистрации я выбрал страну, штат и город. На странице профиля я получу ответ со всеми зарегистрированными данными. В этом ответе я получу страну как {«страна»: «Индия»}. Я назначаю значение страны моему имени ng-модели «$ scope.model.country», но я не могу просмотреть имя моей страны на моей странице профиля. Вместо этого отображается раскрывающееся меню по умолчанию для всех стран. Когда я проверяю, я видел как "". Мое значение модели не совпадает с выпадающим значением.

Кажется, это решение также работает. Может быть, вы настраиваете свои облачные значения асинхронно? Поэтому вам нужно использовать $ scope. $ Apply (function-to-update-data) с проверочным дайджестом не обрабатывается в этот момент.

Помогает ли это?

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

 
myApp.controller('myController', function myController($scope){ 
 
    $scope.code = 'Ukraine'; 
 
    $scope.items = ['Brasil', 'USA', 'Ukraine']; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app='myApp' ng-controller='myController'> 
 
    <select ng-options="item for item in items" ng-model="code"></select> 
 
</div>

+0

Я использовал как