html页面
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/common.css">
<link rel="stylesheet" href="css/main.css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/colResizable-1.3.min.js"></script>
<script type="text/javascript" src="js/common.js"></script>
<script type="text/javascript">
$(function(){
$(".list_table").colResizable({
liveDrag:true,
gripInnerHtml:"<div class='grip'></div>",
draggingClass:"dragging",
minWidth:30
});
});
</script>
<title>Document</title>
</head>
<body>
<div class="container">
<div class="main_top">
<div id="forms" class="mt10">
<div class="box">
<div class="box_border">
<div class="box_top"><b class="pl15">表单</b></div>
<div class="box_center">
<form action="roler_power" class="jqtransform" method="post">
<table class="form_table pt15 pb15" width="100%" border="0" cellpadding="0" cellspacing="0">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
@foreach($role as $k=>$v)
<input type="hidden" name="roleid" value="<?php echo $v['r_id'] ?>">
@endforeach
<span class="fl">
<div class="select_border">
<div class="select_containers ">
@foreach($power as $k=>$v)
<input type="checkbox" name="powerid[]" value="<?php echo $v['p_id'] ?>" parentid="<?php echo $v['pz_id'] ?>" onclick="k_fun(this);"
@foreach($rp as $p)
@if($v['p_id']==$p['pid'])
checked
@endif
@endforeach
>
<?php echo str_repeat("--",$v['level']*2).$v['p_name'] ?><br>
@endforeach
</div>
</div>
</span>
</td>
</tr>
<tr>
<td class="td_right"> </td>
<td class="">
<input type="submit" name="button" class="btn btn82 btn_save2" value="保存">
<input type="button" name="button" class="btn btn82 btn_res" value="重置">
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
<script>
function k_fun(obj){
var pid=obj.value;
var ipu=document.getElementsByName('powerid[]');
var parent_id=obj.getAttribute('parentid');
for(var i=0;i<ipu.length;i++){
if(pid==ipu[i].getAttribute('parentid')){
ipu[i].checked=true;
if(obj.checked==false)
{
ipu[i].checked=false;
}
}
}
if(parent_id!=0){
for(var i = 0; i<ipu.length;i++){
if(parent_id==ipu[i].value){
ipu[i].checked=true;
if(obj.checked==false){
ipu[i].checked=false;
}
}
}
}
}
</script>
控制器
public function r_pdd()
{
$sql = DB::table('role')->get();
$p=Db::table('privilege')->where('pz_id','=',0)->get();
return view('rbac/r_pdd',['arr'=>$sql,'add'=>$p]);
}
public function fun($arr ,$pz_id=0,$level=0)
{
static $data=array();
foreach($arr as $k=>$v){
if($v['pz_id']==$pz_id){
$v['level']=$level;
$data[]=$v;
$this->fun($arr,$v['p_id'],$level+1);
}
}
return $data;
}
$p=DB::table('privilege')->select('p_name','p_id','pz_id')->get();
$info=$this->fun($p);