Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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/2/jquery/75.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 如何使用uib分页检查和取消检查当前页面中的所有行?_Javascript_Jquery_Html_Angularjs_Angular Ui Bootstrap - Fatal编程技术网

Javascript 如何使用uib分页检查和取消检查当前页面中的所有行?

Javascript 如何使用uib分页检查和取消检查当前页面中的所有行?,javascript,jquery,html,angularjs,angular-ui-bootstrap,Javascript,Jquery,Html,Angularjs,Angular Ui Bootstrap,我使用angularjs并将数据绑定到表中,并使用uib分页向表中添加分页,在一个表中,我添加复选框以选中和取消选中行,这里我需要的是,当我单击check all in header时,行应该只签入当前页面,但问题是它检查所有行而不考虑页面 var myApp=angular.module('myApp',['ui.bootstrap'])) .controller('employeeController',函数($scope){ var雇员=[{ “姓名”:“阿尔弗雷德·富特基斯特”, “城

我使用angularjs并将数据绑定到表中,并使用uib分页向表中添加分页,在一个表中,我添加复选框以选中和取消选中行,这里我需要的是,当我单击check all in header时,行应该只签入当前页面,但问题是它检查所有行而不考虑页面

var myApp=angular.module('myApp',['ui.bootstrap']))
.controller('employeeController',函数($scope){
var雇员=[{
“姓名”:“阿尔弗雷德·富特基斯特”,
“城市”:“柏林”,
“国家”:“德国”
}, {
“姓名”:“Berglunds snabbköp”,
“城市”:“卢勒”,
“国家”:“瑞典”
}, {
“名称”:“布劳尔见德利卡塔森”,
“城市”:“曼海姆”,
“国家”:“德国”
}, {
“姓名”:“布隆德尔·佩雷和菲尔斯”,
“城市”:“斯特拉斯堡”,
“国家”:“法国”
}, {
“名称”:“Bólido Comidas preparadas”,
“城市”:“马德里”,
“国家”:“西班牙”
}, {
“名称”:“Bon应用程序”,
“城市”:“马赛”,
“国家”:“法国”
}, {
“名称”:“最低美元市场”,
“城市”:“Tsawassen”,
“国家”:“加拿大”
}, {
“名称”:“仙人掌”,
“城市”:“布宜诺斯艾利斯”,
“国家”:“阿根廷”
}, {
“名称”:“商业中心Moctezuma”,
“城市”:“墨西哥联邦”,
“国家”:“墨西哥”
}, {
“姓名”:“剁炒杂烩”,
“城市”:“伯尔尼”,
“国家”:“瑞士”
}, {
“姓名”:“Comércio Mineiro”,
“城市”:“圣保罗”,
“国家”:“巴西”
}];
$scope.employees=员工;
$scope.showHideAddNotes=函数(供应商ID,$index){
$scope.comments=vendorsId;
angular.forEach($scope.employees,function(供应商){
if(vendr.VendID==$scope.comments){
$scope.showcoment=true;
}
})
}
$scope.pageSize=10;
$scope.currentPage=1;
$scope.itemsPerPage=$scope.pageSize;
$scope.maxSize=5;//要显示的寻呼机按钮数
$scope.totalItems=$scope.employees.length;
$scope.setPage=函数(页码){
$scope.currentPage=pageNo;
};
$scope.pageChanged=函数(){
log('页面更改为:'+$scope.currentPage);
};
$scope.setItemsPerPage=函数(num){
$scope.itemsPerPage=num;
$scope.currentPage=1;//重置为第一页
}
//----------------------选中并取消选中所有行---------------
$scope.CheckUncheckHeader=function(){
$scope.IsAllChecked=true;
对于(变量i=0;i<$scope.employees.length;i++){
如果(!$scope.employees[i]。选中){
$scope.IsAllChecked=false;
打破
}
};
var-batchcount=0;
如果($scope.employees!=未定义&&$scope.employees.length>0){
$scope.employees.forEach(函数(pageitem){
如果(pageitem.Selected)
员工++;
});
}
$scope.batchcount=batchcount;
};
$scope.CheckUncheckAll=function(){//选择并取消选择所有行
$scope.batchcount=0;
对于(变量i=0;i<$scope.employees.length;i++){
$scope.employees[i]。Selected=$scope.IsAllChecked;
}
};
})

    名称 城市 国家 {{emp.Name}}
    拯救 {{emp.City} {{emp.Country}

      使用分页可以有效地过滤表中的行,并且每次只显示
      n
      记录。因此,您需要确保只从显示的行中进行选择(与gmail等相同)。您可以像这样从
      ngRepeat
      表达式中获取这些记录

      ng-repeat="row in vm.filtered = (vm.allRecords | limitTo : vm.showingAmount: (vm.currentPage -1) * vm.showingAmount)"
      
      其中,
      vm.displayedRecords
      是过滤器应用的项目,而
      vm.filtered
      是过滤器应用于数据后获得的可见记录,您需要选择这些记录


      我做了一个简单的例子来演示一种干净的方法

      你能提供一些检查和取消检查复选框的代码吗code@PK-1825:您是否介意为这个示例创建一个plunkr,以便我可以提供一个工作示例。您需要注意的是作为配置传递给ui分页的
      页码
      页数
      值。您可以根据页码计算要选中/取消选中的复选框范围。希望它有帮助,如果没有请创建一个演示,让我知道@我已经添加了上面的代码片段,但仍然需要实现