Javascript Can';t在带有角度的复选框上执行selectall
我似乎不知道如何有另一个复选框,选择所有和取消选择所有框Javascript Can';t在带有角度的复选框上执行selectall,javascript,html,angularjs,Javascript,Html,Angularjs,我似乎不知道如何有另一个复选框,选择所有和取消选择所有框 选择/取消选择全部 {{t} 提交 {{form.selectedTeams}} var myApp=angular.module('myApp',[]); myApp.controller(“tempCtrl”,函数($scope){ $scope.form={ 所选团队:{} }; $scope.parameters={ MyMain选项:{ 团队:[天使队、巨人队、金莺队、蓝鸟队、田径队] } }; $scope.select
选择/取消选择全部
{{t}
提交
{{form.selectedTeams}}
var myApp=angular.module('myApp',[]);
myApp.controller(“tempCtrl”,函数($scope){
$scope.form={
所选团队:{}
};
$scope.parameters={
MyMain选项:{
团队:[天使队、巨人队、金莺队、蓝鸟队、田径队]
}
};
$scope.selectAll=function(){
//这就是我被困的地方
}
});
这里是一个简单的全选/取消全选复选框的工作列表:
控制器
<p>Check all</p>
<input type="checkbox" ng-model="selectAll" ng-click="checkAll()" />
<br />
<p>Checkboxes</p>
<div ng-repeat="checkbox in checkboxes track by $index">
<input type="checkbox" ng-model="checkbox.selected" />
<label ng-show="checkbox.selected">Checkbox {{ $index+1 }} selected!</label>
</div>
查看
<input type="checkbox" ng-model="selectAllOptions" ng-change="selectAll()" />Select/Deselect All
<li ng-repeat="t in parameters.myMainOptions.teams">
<input ng-model="form.selectedTeams[t]" type="checkbox" />{{t}}</li>
<button class="btn btn-sm" type="submit" ng-click="submit(form)">SUBMIT</button> <pre>
{{form.selectedTeams}}
</pre>
全部检查
复选框
选中复选框{{$index+1}}!
您可以对$scope.parameters.mymainpoptions.teams
数组执行forEach
,然后在循环中设置$scope.form.selectedTeams
值。也可以使用ng change
而不是ng click
标记
$scope.selectAll = function () {
angular.forEach($scope.parameters.myMainOptions.teams, function (value, index) {
$scope.form.selectedTeams[value] = $scope.selectAllOptions; //setting selectAll variable value
})
}
首先,您应该为团队创建一个这样的对象数组 控制器:
$scope.selectAll = function () {
angular.forEach($scope.parameters.myMainOptions.teams, function (team) {
team.selected = $scope.selectAllOptions;
});
};
这是一种更好的方法,因为现在,您可以向每个团队对象添加选定的属性
然后,应将每个团队的ng模型复选框设置为类似于团队的内容。选择如下:
查看:
$scope.selectAll = function () {
angular.forEach($scope.parameters.myMainOptions.teams, function (team) {
team.selected = $scope.selectAllOptions;
});
};
@金刚龙它对你有帮助吗?
$scope.parameters = {
myMainOptions: {
teams: [{name: 'angels'}, {name: 'giants'}, {name: 'orioles'}, {name:'bluejays'}, {name: 'athletics'}]
}
};
<li ng-repeat="team in parameters.myMainOptions.teams">
<input ng-model="team.selected" type="checkbox" />
{{team}}
</li>
$scope.selectAll = function () {
angular.forEach($scope.parameters.myMainOptions.teams, function (team) {
team.selected = $scope.selectAllOptions;
});
};