zTree实现打开页面时异步加载数据及选中项ID提交到后台

来源:互联网 发布:淘宝卖psv2000良心店 编辑:程序博客网 时间:2024/05/21 08:31
html:
<div style="margin-left: 5%"><article class="page-container"><div class="row cl"><label class="form-label col-xs-3 col-sm-3"><spanclass="c-red">*</span>角色名称:</label><div class="formControls col-xs-6 col-sm-6"><input type="hidden" name="roleId" value="${role.id }" id="roleId"/> <inputtype="text" class="input-text" value="${role.roleName }"placeholder="" id="roleName" name="roleName" datatype="*4-16"nullmsg="用户账户不能为空"></div></div><div class="row cl"><label class="form-label col-xs-3 col-sm-3">权限列表:</label><div class="formControls col-xs-6 col-sm-6"><!-- 权限代码 zTree--><div class="content_wrap"><div class="zTreeDemoBackground left"><ul id="treeDemo" class="ztree"></ul></div></div></div></div><div class="row cl"><div class="col-xs-3 col-sm-3 col-xs-offset-3 col-sm-offset-3"><button type="button" class="btn btn-success radius sbm"><i class="icon-ok"></i> 确定</button><button type="button" class="btn btn-success radius reset"><i class="icon-ok"></i> 取消</button></div></div></article></div>

js:

$(document).ready(function() {onLoadZTree();});var setting = {check : {enable : true},data : {simpleData : {enable : true,idKey : "id",pIdKey : "pId",rootPId : 0}}};var treeNodes;/** * 加载树形结构数据 */function onLoadZTree() {var roleId=$('#roleId').val();$.ajax({async : false,//是否异步cache : false,//是否使用缓存type : 'POST',//请求方式:postdataType : 'json',//数据传输格式:jsonurl : "menu/updat.do?id="+roleId,error : function() {//请求失败处理函数alert('亲,请求失败!');},success : function(data) {treeNodes = data;//把后台封装好的简单Json格式赋给treeNodes}});var t = $("#treeDemo");t = $.fn.zTree.init(t, setting, treeNodes);};function onCheck() {var treeObj = $.fn.zTree.getZTreeObj("treeDemo"), nodes = treeObj.getCheckedNodes(true), v = "";for (var i = 0; i < nodes.length; i++) {v += nodes[i].id + ",";//alert(nodes[i].name); //获取选中节点的名称}return v;}$(".sbm").click(function() {var id = onCheck();var roleId = $("input[name='roleId']").val();$.get("menu/doUpdate.do?menuIds=" + id+"&roleId="+roleId, function(data) {var index = parent.layer.getFrameIndex(window.name);//window.parent.location.reload();parent.layer.close(index);})});


0 0