【问题标题】:Click on a value in an array of objects returns the value of another key AngularJS点击对象数组中的一个值返回另一个键AngularJS的值
【发布时间】:2026-01-04 09:05:03
【问题描述】:

我有一个在列表中迭代的对象数组。如果我点击名称,它应该会提醒我名称对应的城市的值。

<div ng-app='myApp'>
    <div ng-controller="AppController">
      <div ng-click="getCity()" ng-repeat="step in steps">
        <p> {{step.name}}</p> 
    </div>
</div>

var myApp = angular.module('myApp', []);
myApp.controller('AppController', function ($scope) {
    $scope.steps = [
        {name: "ABC", status: true, city: "Boston"},
        {name: "DEF", status: true, city: "New York"},
        {name: "GHI", status: true, city: "LA"}
];

        $scope.getCity = function(a) {

    }
});

Detailed code here.

--> 所以我点击“ABC”,应该会显示“波士顿”。

感谢您的帮助。谢谢。

【问题讨论】:

  • 什么不起作用?
  • 那么返回city值的函数应该是什么呢?
  • 我已经回答了,但以后你应该真正告诉我们你尝试了什么,什么没用。如果您什么都没尝试,那么您可以在 AngularJS 文档中轻松找到答案。
  • 很抱歉。谢谢。

标签: javascript angularjs arrays object


【解决方案1】:

您可以将值传递给您的 getCity 函数:

var myApp = angular.module('myApp', []);
myApp.controller('AppController', function($scope) {
  $scope.steps = [{
      name: "ABC",
      status: true,
      city: "Boston"
    },
    {
      name: "DEF",
      status: true,
      city: "New York"
    },
    {
      name: "GHI",
      status: true,
      city: "LA"
    }
  ];

  $scope.getCity = function(step) {
    alert(step.city)
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app='myApp'>
  <div ng-controller="AppController">
    <div ng-click="getCity(step)" ng-repeat="step in steps">
      <p> {{step.name}}</p>
    </div>
  </div>
</div>

【讨论】:

    最近更新 更多