如何根据下拉菜单项更改变量属性?

How to change variable properties according to drop-down menu item?

我有一个用 ng-options 填充的下拉菜单。

<label class="item item-input item-select">
    </div>
    <div class="input-currencies">
      Select Currency
<select ng-options="c.code as c.name for c in currencies" ng-model="codeMod" ng-change="currencyChange(codeMod)">
    </select>
  </label>

如何将值 c.code 设为名为 selectedCurrency 的变量的 属性?

.controller('CurrencyController', function($scope, $http) {  

 var ngb_currencies = 'http://lari.jumpstart.ge/en/api/v1/nbg_currencies?callback=JSON_CALLBACK'


var selectedCurreny = "" // I want get dropdown code in this variable depending on the selected currency so I make changes in the API


         $http.jsonp(ngb_currencies).success(function(currency) {
                $scope.currencies =   currency.results;
          })
            .error(function(data) {
              alert("ERROR");
            });


   $http({
    method: 'jsonp',
    url: 'http://lari.jumpstart.ge/en/api/v1/nbg_rates?callback=JSON_CALLBACK',
    params: { currency: selectedCurreny }
}).success(function(data, status , header, config) {
    console.log('success');
       $scope.result = data.result;
        console.log('success');
}).error(function(data, status , header, config) {
    console.log('error');
});

首先,你得把ng-options属性里的c.code as c.name for c in currencies改一下,这里不能用属性,变成c as c.name for c in currencies

然后,由于您指定了 ng-model="codeMod",您可以在控制器中观察该变量,它变为以下内容:

.controller('CurrencyController', function($scope, $http) {  

    var ngb_currencies = 'http://lari.jumpstart.ge/en/api/v1/nbg_currencies?callback=JSON_CALLBACK'


   $http.jsonp(ngb_currencies).success(function(currency) {
          $scope.currencies =   currency.results;
    })
      .error(function(data) {
        alert("ERROR");
      });

    $scope.$watch('codeMod', function(newSelectedCurreny) {

      $http({
          method: 'jsonp',
          url: 'http://lari.jumpstart.ge/en/api/v1/nbg_rates?callback=JSON_CALLBACK',
          params: { currency: newSelectedCurreny}
      }).success(function(data, status , header, config) {
          console.log('success');
             $scope.result = data.result;
              console.log('success');
      }).error(function(data, status , header, config) {
          console.log('error');
      });
    }
}