Как получить значение выбранного параметра раскрывающегося списка в angularjs и динамически изменить идентификатор div при изменении раскрывающегося списка - PullRequest
0 голосов
/ 10 января 2019

Я использую angularjs. У меня есть поле выбора и div, идущие от ng repeat.Here при изменении поля выбора мне нужно динамически изменить идентификатор div. Для примера. если значение, выбранное для моей опции, - город, то div id снова будет {{y.city}}, если значение, выбранное для моей опции - состояние, то div id будет {{y.state}}. Просто чтобы показать, я поставил id = "{ {y.state}} "внутри div. Может кто-нибудь, пожалуйста, помогите мне, Вот код ниже.

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<select class="change" ng-model="x" ng-change="update()">
<option vlaue="city">Cities</option>
<option vlaue="state">States</option>
<option vlaue="country">Countries</option>
</select>
<div ng-repeat="y in details" id="{{y.state}}">
{{y.state}}
</div>
</div>

Сценарий

var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
    $scope.details = [{"city":"city1","id":"1","state":"state1","country":"country1"},{"city":"city2","id":"2","state":"state2","country":"country2"},{"city":"city3","id":"3","state":"state3","country":"country3"}];
  console.log($scope.details[0].city);
  $scope.update = function() { 
   if($scope.x == 'city'){
   alert('this is city');
   }
   if($scope.x == 'state'){
   alert('this is state');
   }
   if($scope.x == 'country'){
   alert('this is city');
   }

}
});

1 Ответ

0 голосов
/ 10 января 2019

Исправить опечатку vlaue -> value

Ваш код будет:

<div ng-repeat="y in details" id="{{ y[x] }}">
    {{y[x]}}
</div>

http://embed.plnkr.co/7W830qHem09Xr8Iw2siG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...