Javascript 使用ng click with ng repeat使表格单元格处于活动状态

Javascript 使用ng click with ng repeat使表格单元格处于活动状态,javascript,html,angularjs,Javascript,Html,Angularjs,问题: 我有一张桌子和一个可点击的。我想要发生的是,当我单击以下任何一个时,它将变为活动状态,但我无法正确执行 DOM <table class="table-position"> <tr ng-repeat="i in [1,2,3]"> <td ng-repeat="j in [1,2,3]" ng-click="selectPosition(j)" ng-class="{active: selectedPosition == j}"&g

问题: 我有一张桌子和一个可点击的
。我想要发生的是,当我单击以下任何一个
时,它将变为活动状态,但我无法正确执行

DOM

<table class="table-position">
  <tr ng-repeat="i in [1,2,3]">
    <td ng-repeat="j in [1,2,3]" ng-click="selectPosition(j)" 
     ng-class="{active: selectedPosition == j}"></td>
  </tr>
</table>
文本渲染

i1-[j1,j2,j3]
i2-[j1,j2,j3]
i3-[j1,j2,j3]
电流输出:这是我单击任何ff时的电流输出:
[i1,j1]、[i2,j1]、[i3,j1]

预期输出: 这是我单击中心时的预期输出
[i2,j2]

我已经尝试通过
selectPosition
函数传递数组和对象,但仍然不起作用。不确定我是否做对了


如果有什么不清楚的地方,请告诉我。提前感谢您。

我相信您可以让它更漂亮,但在您的旧代码中,$scope.selectedPosition在I的每次迭代中都是相同的,因此每行中的j自然会被激活

$scope.selectPosition = function(i, j){
  $scope.selectedPosition = {};
  $scope.selectedPosition.i = i;
  $scope.selectedPosition.j = j;
}

<table class="table-position">
  <tr ng-repeat="i in [1,2,3]">
    <td ng-repeat="j in [1,2,3]" ng-click="selectPosition(j)" 
     ng-class="{active: (selectedPosition.j == j && selectedPosition.i == i)}"></td>
  </tr>
</table>
$scope.selectPosition=函数(i,j){
$scope.selectedPosition={};
$scope.selectedPosition.i=i;
$scope.selectedPosition.j=j;
}

<table class="table-position" ng-controller="myCtrl">
    <tr ng-repeat="i in [1,2,3]">
        <td ng-repeat="j in [1,2,3]" ng-click="selectPosition($parent.$index, $index)"
            ng-class="{active: (selectedPosition.parent == $parent.$index && selectedPosition.index == $index )}">{{ j }}</td>
    </tr>
</table>

谢谢你真棒!
<table class="table-position" ng-controller="myCtrl">
    <tr ng-repeat="i in [1,2,3]">
        <td ng-repeat="j in [1,2,3]" ng-click="selectPosition($parent.$index, $index)"
            ng-class="{active: (selectedPosition.parent == $parent.$index && selectedPosition.index == $index )}">{{ j }}</td>
    </tr>
</table>
var app = angular.module("app", []);

app.controller("myCtrl", function ($scope) {

    $scope.selectPosition = function ($parentIndex, $index) {
        $scope.selectedPosition = {
            parent: $parentIndex,
            index: $index
        };
    }
})