angularjs - 如何从ng-grid获取单元格值

标签 angularjs ng-grid

我是 AngularJS 的初学者。我研究了 ng-grid 的演示并有一个问题。

索引.html

<!DOCTYPE html>
<html ng-app="myApp">

<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<link rel="stylesheet" type="text/css" href="http://angular-ui.github.com/ng-grid/css/ng-grid.css" />
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
<script type="text/javascript" src="http://angular-ui.github.com/ng-grid/lib/ng-grid.debug.js"></script>
<script src="app.js"></script>
</head>

<body ng-controller="MyCtrl">
    <div class="gridStyle" ng-grid="gridOptions"></div>
    <div class="selectedItems">{{mySelections}}</div><br><br>

</body>

</html>

应用程序.js
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
$scope.mySelections = [];
$scope.myData = [{name: "Moroni", id: 1},
                 {name: "Tiancum", id: 2},
                 {name: "Jacob", id: 3},
                 {name: "Nephi", id: 4},
                 {name: "Akon", id: 5},
                 {name: "Enos", id: 6}];
$scope.gridOptions = { 
data: 'myData',
selectedItems: $scope.mySelections,
multiSelect: true 
};

//$scope.mySelections_id = $scope.mySelections.length;

});

当我选择第一行时,selectedItems 的 div 将显示 [{"name":"Moroni","id":1}]。结果没问题。如果我只想从所选行中获取单元格 [id] 的值,我该如何修改我的代码?

这是Plunker

最佳答案

使用 afterSelectionChange将选择中的 id 提取到其他数组的回调。

$scope.gridOptions = { 
    data: 'myData',
    selectedItems: $scope.mySelections,
    multiSelect: true,
    afterSelectionChange: function () {
      $scope.selectedIDs = [];
      angular.forEach($scope.mySelections, function ( item ) {
        $scope.selectedIDs.push( item.id )
      });
    }
  };

现在您可以引用 {{selectedIDs}}来自模板并在其中包含所有选定的 ID。或者只是第一个:{{selectedIDs[0]}}
请参阅此处的工作示例:http://plnkr.co/edit/xVwVWX

关于angularjs - 如何从ng-grid获取单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16911156/

相关文章:

javascript - 如何在 Angularjs 中给出 $this

javascript - 如何使用 ng-repeat 在 Ionic 中创建卡片的动态排列

javascript - 如何在angular js中使用ng-grid和ng-tree?

javascript - 为什么 columnDefs 在重新排序或隐藏在 ng-grid 后没有被修改?

javascript - 如何使用 ng-style 在点击时更新元素样式

javascript - 为什么在 If 中的 someArray 中做 someVar 总是给出假值

浏览器源选项卡中的 CSS 与链接中的 CSS 不同

javascript - 模态窗口内的 ng-grid 仅在模态第一次打开时起作用

javascript - Angular UI-Grid onRegisterApi 未触发

angular-ui-grid - 在单元格模板内进行过滤?