Angularjs和ng-grid:如何处理复选框

时间:2014-04-23 12:51:39

标签: javascript jquery html angularjs

在angulajs我有一个ng-grid,我用服务器返回的数据填充。该领域"活跃"是一个布尔值,所以我制作了一个模板来显示一个复选框:

$scope.gridOptions = { data: 'myData', enableCellSelection: true,
                       enableRowSelection: false, enableCellEdit: true,
                       columnDefs: [{ field: 'Id', displayName: 'Id', visible: false },
                                    { field: 'Name', displayName: 'Name', enableCellEdit: true },
                                    { field: 'Active', displayName: 'Active', enableCellEdit: true, cellTemplate: '<input type="checkbox" ng-model="row.entity.Active" >' }]

现在,当我编辑某个单元格时,我希望将已编辑的行保存回数据库,因此我处理ngGridEventEndCellEdit:

$scope.$on('ngGridEventEndCellEdit', function (data) {
   ....
}

事件。当我编辑单元格&#34; Name&#34;调用上面的处理程序,但是当我选中/取消选中复选框Active时,该事件不会被调用。 当我选中/取消选中复选框时,如何发出ngGridEventEndCellEdit?或者如何处理?

2 个答案:

答案 0 :(得分:1)

如何从复选框ng-change函数中发出ngGridEventEndCellEdit呢?

ng-change="emitEndCellEdit()"

$scope.emitEndCellEdit = function() { $scope.$emit('ngGridEventEndCellEdit') }

答案 1 :(得分:0)

尝试将ng-change =“edit(row)”添加到您的单元格模板中。处理$ scope.edit函数中的所有内容。您应该将单击的网格数据作为参数接收。