Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';无法使用角度UI网格获取选定行_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript Can';无法使用角度UI网格获取选定行

Javascript Can';无法使用角度UI网格获取选定行,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有两个网格,其中有可以选择的行。我希望能够将所选行中的数据获取到另一个数据对象中,以便将其传递到后端服务。以下是相关代码: angular.module('gridPanel',['ui.bootstrap','ui.grid', 'ui.grid.edit', 'ui.grid.rowEdit', 'ui.grid.cellNav', 'ui.grid.selection']) .controller('GridPanelController', function($scope, $log,

我有两个网格,其中有可以选择的行。我希望能够将所选行中的数据获取到另一个数据对象中,以便将其传递到后端服务。以下是相关代码:

angular.module('gridPanel',['ui.bootstrap','ui.grid', 'ui.grid.edit', 'ui.grid.rowEdit', 'ui.grid.cellNav', 'ui.grid.selection'])
.controller('GridPanelController', function($scope, $log, referenceDataService){

    $scope.nameGrid = {
        enableRowSelection: true,
        enableRowHeaderSelection: false,
        multiSelect: true,
        onRegisterApi: function(gridApi) {
            $scope.gridApiNames= gridApi;
        },
        columnDefs: [
            {name: 'Name', field: 'name'}
            {name: 'Description', field: 'description'}
        ],
        data:[]
    };

    $scope.regionsGrid = {
        enableRowSelection: true,
        enableRowHeaderSelection: false,
        multiSelect: true,
        onRegisterApi: function(gridApi) {
            $scope.gridApiRegions = gridApi;
        },
        columnDefs: [
            {name: 'Region', field: 'region'}
        ],
        data:[]
    };

    referenceDataService.getAllNames().then(function (data){
        $scope.nameGrid.data = data;
    });

    referenceDataService.getRegions().then(function (data){
        $scope.regionsGrid.data = data;
    });

    $scope.debug = function(obj) {
        var dataObj = {
            names: [],
            regions: []
        };

        dataObj.regions = $scope.gridApiRegions.selection.getSelectedRows();
        dataObj.names= $scope.gridApiNames.selection.getSelectedRows();

        $log.log(JSON.stringify(dataObj, null, 4));
    };
});
但是,当我检查控制台中的日志时,它显示dataObj.regions和dataObj.names都是空白数组。数据在实际的表中显示得很好,当我单击它们时,不会出现任何问题-我可以选择多行而不会出现问题。只有当我单击submit按钮时,问题才会出现,现在它指向$scope.debug,以便我可以查看控制台中的对象。表单中还有其他字段,主要是文本字段,当我在控制台日志中单击debug时,这些字段也会显示得很好,因此唯一出现问题的地方就是获取选定的行。提前谢谢


编辑:另外,当我尝试只记录“getSelectedRows”部分时,它返回一个空白数组。

发现了问题。这是因为我在网页的其他地方使用了相同的网格(在一个模式中)来显示相同的信息。一旦我做了两组网格,问题就解决了。两组相同的网格服务于相同的目的似乎仍然有点低效,但我猜可能就是这样或是什么