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 - Fatal编程技术网

Javascript 基于选择下拉列表用户角色选择复选框

Javascript 基于选择下拉列表用户角色选择复选框,javascript,angularjs,Javascript,Angularjs,我有一个表格,我想选择一些复选框的基础上选择的用户选项,如管理员,人力资源等。 假设如果用户选择admin,则应选中所有复选框(包括主选择报告账单)。 如果用户选择hr,则应选择两者中的“仅读取”选项。 如果是技术人员,则创建、更新和读取这两个。等 var-app=angular.module('test',[]); app.controller('testCt',function($scope,$http){}) 管理 人力资源 营销 技术人员 报告 阅读 创造 更新 删除 账单 阅读

我有一个表格,我想选择一些复选框的基础上选择的用户选项,如管理员,人力资源等。 假设如果用户选择admin,则应选中所有复选框(包括主选择报告账单)。 如果用户选择hr,则应选择两者中的“仅读取”选项。 如果是技术人员,则创建、更新和读取这两个。等

var-app=angular.module('test',[]);
app.controller('testCt',function($scope,$http){})

管理
人力资源
营销
技术人员

报告
阅读 创造 更新 删除 账单
阅读 创造 更新 删除
查看下面的代码片段。它只是为管理员选择创建的,其余的留给你,我想你明白了

var-app=angular.module('test',[]);
app.controller('testCt',函数($scope,$http){
$scope.role=null;
$scope.selected={
报告:{
读:错,
创建:false,
更新:错误,
删除:false
},
法案:{
读:错,
创建:false,
更新:错误,
删除:false
}
};
$scope.update=函数(){
开关($scope.role){
案例“管理”:
$scope.selected={
报告:{
读:没错,
创造:真的,
更新:对,,
删除:真
},
法案:{
读:没错,
创造:真的,
更新:对,,
删除:真
}
};
}
}
});

管理
人力资源
营销
技术人员

报告
阅读 创造 更新 删除 账单
阅读 创造 更新 删除 {{selected}}
以下是我想要解决这个问题的方法!我为用户创建了权限映射。比如:

$scope.permissions = {
    "admin": ["read", "create", "update", "delete"],
    "hr": ["read"],
    "tech": ["read", "create", "update"]
}
现在,在您下拉列表的
ng change
中,我将调用一个函数,该函数在
$scope
变量中为我提供所选角色。可在如下所示的
ng checked
中使用:

Read <input type="checkbox" name="reportrd" ng-model="reportrd" 
         ng-checked="selected.includes('read')" />

管理
人力资源
营销
技术人员

报告
阅读 创造 更新 删除 账单
阅读 创造 更新 删除
类似于但直接修改$scope变量,变量名称更新为相对含义

//代码在这里
var app=角度模块('测试',[]);
app.controller('testCt',函数($scope,$http){
$scope.availableChecks=[
“报告”,
“报告RD”,
“报告”,
“向上报告”,
“报告人”,
“法案”,
“比尔德”,
“billcr”,
“比卢普”,
“比尔德”,
];
$scope.roles=[{
“名称”:“管理员”,
“值”:“管理员”,
“激活”:[“报告”、“账单”]
}, {
“姓名”:“人力资源”,
“价值”:“人力资源”,
“激活”:[“报告”]
}, {
“名称”:“营销”,
“价值”:“营销”,
“激活”:[“报告”、“账单”]
}, {
“名称”:“技术”,
“价值”:“技术”,
“激活”:[
“reportrd”、“reportup”、“reportde”,
“比尔德”、“比卢普”、“比尔德”
]
}];
$scope.role=“admin”;
selChanged();
函数resetAll(){
对于(var i在$scope.availableChecks中){
var avail=$scope.availableChecks[i];
$scope[avail]=false;
}
}
$scope.selChanged=selChanged;
函数selChanged(){
var role=$scope.roles.filter(函数(r){
返回r.value==$scope.role;
});
如果(role.length>0){
角色=角色[0];
resetAll();
for(变量i=0,len=role.activate.length;i


报告
读取创建更新删除 账单
读取创建更新删除