树状菜单获取选中节点跟选中节点保存到数据库

qq_22948413 2015-08-10 11:32:07
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="../util/util.jsp" %>

<link rel="stylesheet" href="${basePath}js/zTree/css/demo.css" type="text/css">
<link rel="stylesheet" href="${basePath}js/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="${basePath}js/zTree/js/jquery.ztree.core-3.5.js"></script>
<script type="text/javascript" src="${basePath}js/zTree/js/jquery.ztree.excheck-3.5.js"></script>

<script type="text/javascript">
var setting = {
check: {
enable: true,
chkboxType: {"Y" : "p", "N" : "s"}//checkbox选中时不关联子,取消的时候关联子
},
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true
}
},
callback: {
beforeClick: beforeClick,
onCheck: onCheck
}
};
var zNodes = null;
function beforeClick(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.checkNode(treeNode, !treeNode.checked, null, true);
return false;
}

function onCheck(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
nodes = zTree.getCheckedNodes(true),
v = "",vid = "";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";
vid += nodes[i].id + ",";
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
if (vid.length > 0 ) vid = vid.substring(0, vid.length-1);
$('#adeIds').val(vid);
}

function showMenu() {
if(zNodes==null){
$.ajax({
url:'${basePath}whData/adeTree',
data:{},
dateType:'json',
success:function(data){
if(data){
var str = "[";
$.each(data,function(i,n){
str += '{"id":'+n.ID+',"pId":'+n.PID+',"name":"'+$.trim(n.NAME)+'"}';
if(i<data.length-1){
str += ",";
}
});
zNodes = str+"]";
zNodes = $.parseJSON(zNodes);
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
treeObj.expandAll(true);
if ($('#adeIds').val()!='') {
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = treeObj.getNodes();
if (nodes.length>0) {
var yydValues = $('#adeIds').val();
$.each(yydValues.split(","),function(i,val){
if($('#treeDemo_'+val+'_check').parent().find('ul').length==0){
$('#treeDemo_'+val+'_check').trigger("click");
}
});
}
}
}else {
alertMsg.error('权限树加载失败!');
}
}
});
}else {
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
treeObj.expandAll(true);
}
}

$(function(){
showMenu();
});

</script>

<div class="pageHeader" style="border:1px #B8D0D6 solid">
${map.roleName}的权限设置
</div>
<div class="pageCohttp://bbs.csdn.net/topics/newntent j-resizeGrid" style="border-left:1px #B8D0D6 solid;border-right:1px #B8D0D6 solid">
<form rel="menuForm" class="pagerForm required-validate" onsubmit="return validateCallback(this, dialogAjaxDone);"
action="${basePath}system/roleAutSave" method="post" novalidate="novalidate">
<input type="hidden" name="adeIds" id="adeIds" value="${ades.adeIds}"/>
<ul id="treeDemo" class="ztree" style="margin-top:0; width:350px; height: 550px;"></ul>

<div class="formBar">
<ul>
<li><div class="buttonActive"><div class="buttonContent"><button type="submit">保 存</button></div></div></li>
</ul>
</div>
</form>
</div>



...全文
146 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐

管理员权限功能开发的整体梳理

创建项目

创建视图层,views层和model层

创建管理员登录模块,提交数据以及数据的验证一系列的功能

创建后端的菜单模块:增删改查的功能

菜单模块的添加视图层以及数据的传递以及保存数据到数据库的整个流程

把数据读取出来渲染到视图层的整个流程

介绍hui-admin UI框架的使用以及布局添加菜单模块的视图层     创建角色权限模块的视图层创建以及数据层的对接

    前端js对角色授权按钮的处理

    前端js对对每一个角色的复选框的数据绑定以及选中功能

    通过多表连接读取数据库中后端分类的数据以及数据进行处理

    传递菜单分类数据到视图层,书写js方法进行数据渲染功能

    如何把选中菜单项传递到后端进行数据处理

    后端如何接收到前端传递来的菜单分类数据如何再写入到数据库

    Django框架的models如何批量插入数据到数据库中     添加管理员模块以及指定当前管理员的角色     按照不同的管理员进行登录显示不同的角色所管理的菜单分类数据

    多表操作管理员表角色表菜单获取当前管理员管理的菜单

    得到对应的菜单项数据传递到前端进行渲染


本课程以实际案例开发为主,通过案例来巩固基础知识。






发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2015-08-10 11:32
社区公告
暂无公告