Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 第一次迭代后,所选项目为空_Javascript_Angularjs_Ng Grid_Selecteditem - Fatal编程技术网

Javascript 第一次迭代后,所选项目为空

Javascript 第一次迭代后,所选项目为空,javascript,angularjs,ng-grid,selecteditem,Javascript,Angularjs,Ng Grid,Selecteditem,我正在ng网格上进行批量操作。选中所有行时,所选项目第一次是正确的,但在第一次批量操作后,所选项目为空。使用下面的代码,它会发送一个通知,“必须选择至少一行进行移动”。如果需要更多详细信息,请告诉我。提前谢谢 vm.init = function() { vm.title = "Orphan Entries"; selectReport("OrphanEntries"); }; /* initialization */ vm.init(); vm.gridOptionsRepo

我正在ng网格上进行批量操作。选中所有行时,所选项目第一次是正确的,但在第一次批量操作后,所选项目为空。使用下面的代码,它会发送一个通知,“必须选择至少一行进行移动”。如果需要更多详细信息,请告诉我。提前谢谢

vm.init = function() {
    vm.title = "Orphan Entries";
    selectReport("OrphanEntries");
};
/* initialization */
vm.init();

vm.gridOptionsReports = {
            data: 'vm.data',
            multiSelect: true,
            enableColumnResize: true,
            showFooter: true,
            showSelectionCheckbox: true,
            enableRowSelection: true,
            selectWithCheckboxOnly: true,
            selectedItems: [],
            selectionCheckboxColumnWidth: 25,
            enablePaging: true,
            pagingOptions: $scope.pagingOptions
        } 

$scope.applyBulkAction = function(){
    if(vm.selectedAction == 'notset'){
       Notification.error("You need to select a bulk action.");
    }else{
        var rows = vm.gridOptionsReports.selectedItems;
        if(rows.length < 1){
            Notification.error("Must select at least 1 row to move.");
        }else{
           var toggleTo = 0;
           if(vm.selectedAction == 'move'){
                toggleTo = 1;
            }
            var data = "";
            var first =true;
            for(var i = 0; i< rows.length; i++){
                if(rows[i].selectedToBeMoved != toggleTo){
                    if(first){
                        data = '{"ID":"'+rows[i].iD+'"}';
                        first = false;
                    }else{
                        data = data + ',{"ID":"'+rows[i].iD+'"}'
                    }
                }
            }
            if(data == ""){
               Notification.error("The rows that you have selected have already been flagged.")
                }else{
                    return ReportService.flagOrphansToBeMoved(data).then(flagOrphansToBeMovedComplete).catch(flagOrphansToBeMovedFailed);

                    function flagOrphansToBeMovedComplete(response) {
                        if(!response.data.error && response.data.status == 200){
                            Notification.success('Bulk action was successful.  All flagged rows will be moved during the next scan.');
                            //vm.gridOptionsReports.selectedItems = [];
                            vm.init();
                        }else{
                            Notification.error('Error scheduling to move orphan.');
                        }
                        return response;
                    }

                    function flagOrphansToBeMovedFailed(error) {
                        Notification.error('Error scheduling to move orphan.');
                    }
                }
            }
        }
    }
vm.init=function(){
vm.title=“孤立条目”;
选择报告(“孤立条目”);
};
/*初始化*/
vm.init();
vm.gridoptions报告={
数据:“vm.data”,
多选:对,
enableColumnResize:true,
showFooter:是的,
showSelectionCheckbox:true,
enableRowSelection:true,
仅选择WithCheckbox:true,
selectedItems:[],
selectionCheckboxColumnWidth:25,
enablePaging:true,
分页选项:$scope.pagingOptions
} 
$scope.applyBulkAction=function(){
如果(vm.selectedAction=='notset'){
错误(“您需要选择一个批量操作。”);
}否则{
var rows=vm.gridOptionsReports.selectedItems;
如果(行数长度<1){
Notification.error(“必须选择至少一行移动”);
}否则{
var-toggleTo=0;
如果(vm.selectedAction=='move'){
切换到=1;
}
var数据=”;
var first=真;
对于(变量i=0;i
用户界面

用户界面代码:

<div class="row smallPaddingBot">
<div class="col-sm-2">
    <select ng-model="vm.selectedAction" class="form-control">
        <option value="notset">Bulk Actions</option>
        <option value="move">Flag Selected To Be Moved</option>
        <option value="dontMove">Flag Selected Not To Moved</option>
    </select>
</div>
<div class="col-sm-1">
    <button type="button" class="btn btn-default" ng-click="applyBulkAction()">Apply</button>
</div>

批量操作
选择要移动的标志
选择不移动的标志
申请

问题是我每次都在重新创建ng网格,所以我在范围内迷失了方向。解决方案是将gridOptionsReports.selectedItems设置为范围变量,然后引用该范围变量

发件人:

致:

以及:

致:


问题是我每次都在重新创建ng网格,所以我在范围内迷失了方向。解决方案是将gridOptionsReports.selectedItems设置为范围变量,然后引用该范围变量

发件人:

致:

以及:

致:


你介意发布视图吗?@LeonardoLana我只是在每次迭代中添加了视图的外观。你介意发布视图吗?@LeonardoLana我只是在每次迭代中添加了视图的外观。
selectedItems: [],
selectedItems: vm.selectedRow,
var rows = vm.gridOptionsReports.selectedItems;
var rows = vm.selectedRows;