代码如下:
< script type = "text/javascript" >
var flag = "
flag ")%>";
if (flag != "true") {
flag = false;
} else {
flag = true;
}
var reginTree = {
setting: {
view: {
fontCss: {
color: "#000"
}
},
check: {
enable: true,
chkboxType: {
"Y": "p",
"N": "p"
}, //加上ps 当点击父节点时子节点全部选中
children: "children"
},
data: {
key: {
checked: "checked"
},
simpleData: {
enable: true,
idKey: "id",
pIdKey: "pId",
rootPId: 0
}
}
},
//获取ztree对象
getZtreeObj: function(id) {
var zTree;
if ($.fn.zTree.getZTreeObj(id) != null && $.fn.zTree.getZTreeObj(id) != undefined) {
zTree = $.fn.zTree.getZTreeObj(id);
}
return zTree;
},
//初始化ztree
loadZtree: function(json, id, treeNode, callback) {
var setter = $.extend({}, reginTree.setting, json);
$.fn.zTree.init($('#' + id), setter, treeNode);
var zTree = reginTree.getZtreeObj(id);
if (callback) callback();
},
//加载ztree
loadArea: function(bal, regionIdList) {
var regionJson = {
"level": "2"
};
var treeNode = [];
_public_.getJson(regionJson, "frontServer?busiCode=02060203").done(function(data) {
if (data.returnCode == "Y") {
for (var i = 0; i < data.regionList.length; i++) {
var id = data.regionList[i].rid;
var pId = data.regionList[i].pid;
var name = data.regionList[i].regionName;
var json = {
"id": id,
"name": name,
"pId": pId
};
if (bal) {
if (reginTree.setbal(regionIdList, json.id)) {
json.checked = true;
}
}
treeNode.push(json);
}
console.dir(treeNode);
} else {
console.log("加载数据失败");
}
reginTree.loadZtree({
callback: {
onCheck: reginTree.zTreeOnCheck
}
}, 'tree', treeNode, function() {
var treeObj = reginTree.getZtreeObj('tree');
var nodes = treeObj.getCheckedNodes(true);
$.each(nodes, function(i, value) {
treeObj.expandNode(value, true, false, true);
});
});
});
$('#tree').css({
'width': '400px',
'height': '450px',
'overflow': 'auto'
});
$('#tree').parent().css({
'width': $('#tree').get(0).offsetWidth + 'px',
'height': $('#tree').get(0).offsetHeight + 'px'
});
},
//ztree节点选中 当选中节点时树形 结构展开
zTreeOnCheck: function(event, treeId, treeNode) {
var treeObj = reginTree.getZtreeObj('tree');
if (treeNode.checked == true) {
//单选控制
treeObj.checkAllNodes(false);
treeObj.checkNode(treeNode, true, true, false);
var oner = treeObj.getCheckedNodes(true);
treeObj.expandNode(treeNode, true, false, true);
}
/* var nodes = treeObj.getCheckedNodes(true);
console.dir(nodes); */
/* var treeObj = reginTree.getZtreeObj('tree'),
nodes = treeObj.getCheckedNodes(true),
v = "";
for (var i = 0; i < nodes.length; i++) {
v += nodes[i].name + ",";
alert(nodes[i].id + "," + v); //获取选中节点的值
} */
},
getCheckNode: function(id, bal, param) {
var zTree = reginTree.getZtreeObj(id);
var nodes = zTree.getCheckedNodes(bal);
var arr = [];
var i = 0;
var len = nodes.length;
console.dir(nodes);
for (i = 0; i < len; i++) {
arr.push(nodes[i][param]);
}
return arr.join();
},
setbal: function(regionIdList, id) {
var arr = regionIdList.split(',');
var i = 0;
var len = arr.length;
for (i = 0; i < len; i++) {
if (arr[i] == id) {
return true;
break;
}
}
}
};
$(function() {
$(".submit").on("click", function() {
var regionIds = reginTree.getCheckNode("tree", true, "id");
if (flag == true) {
var jsonr = {
"regionIds": regionIds
};
_public_.getJson(jsonr, "frontServer?busiCode=SYSRegionGetAllName").done(function(data) {
window.opener.setRegionIds(data.regionAllName, regionIds);
window.close();
});
} else {
window.opener.setRegionIds("", regionIds);
window.close();
}
});
});
var regionJson = {};
var regionIdList = window.opener.getRegionIds();
var bal = false;
if (regionIdList != null || regionIdList != "") {
/* regionJson = {"regionIdList":regionIdList}; */
bal = true;
}
//console.dir(regionJson);
reginTree.loadArea(bal, regionIdList); < /script>
ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用
1.在js中封装ajax向后台传递数组参数函数 //combogrid * * @Description 封装ajax向后台传递数组参数并将后台响应的数据赋值给一个变量方便其他插件使用该数据函数 * ...
ajax获取后台传递的json数据
最近在使用JQuery的ajax方法时,需要返回的数据为json数据,在success返回中数据处理会根据返回方式不同会采用不同的方式来生成json数据.在$.ajax方法中应该是如何来处理的,简 ...
ajax如何向后台传递数组,在后台该如何接收的问题(项目积累)
一.后台如何接收从前台接收的数组: 使用request.getParameterValues(String xxx);
【转】jQuery.ajax向后台传递数组问题
$.ajax({ url: "/xxx", type: "GET", data: { "boxIds": boxIds, "box ...
jQuery.ajax向后台传递数组问题
今天重温了一个问题,jQuery.ajax向后台传递一个数组,而在后台接收不到该值 前台js方法部分代码如下: //创建一个测试数组 var boxIds = new Array(); boxIds. ...
Ajax向前后台传递json和转换
学生管理系统MVC模式设计心得: jquery .ajax提交data数据格式 jquery 的Ajax方法提交数据,但是是多个参数,具体data的格式如下: data提交的数据类型为:Object ...
基于layUI调用后台数据实现区域信息级联查询
基于layUI调用后台数据实现区域信息级联查询 1.基本思路 后台提供根据区域编码查询区域列表公共接口 页面初始化调用后台接口加载所有省份 点击省份将省份区域编码传入后台查询该省份下所有地市信息,以此 ...
jquery 根据后台传递过来的三维数组动态生成三级菜单
根据后台传递过来的三维数组动态生成三级菜单
jquery ajax post 传递数组 ,多checkbox 取值
jquery ajax post 传递数组 ,多checkbox 取值 http://w8700569.iteye.com/blog/1954396 使用$.each(function(){});可以 ...
随机推荐
使用File查询出所有的文件和目录的信息
public class Test34 { public static void main(String[] args) { File f=new File("f:"); File ...
struts文件上传、文件下载
文件上传 如果在表单中上传文件,表单的enctype属性为multipart/form-data struts默认上传文件大小为2M,如果需要修改,在配置文件中设置
[转]oracle EBS 基础100问
from:http://www.cnblogs.com/xiaoL/p/3593691.html http://f.dataguru.cn/thread-51057-1-1.html 1001 OR ...
从XML文件乱码问题,探寻其背后的原理
出现应用程序读取XML文件乱码的场景: 加入xml文件以<?xml version="1.0" encoding="utf-8" ?> 格式的:如果 ...
Android自定义圆形图片工具类(CTRL+C加CTRL+V直接使用)
先贴一下工具类的代码!可直接复制粘贴 public class RoundImageView extends ImageView { private Paint mPaint; //画笔 privat ...
eclipse中Debug简单记忆
最左边:代码一步一步的走,进入函数也是一步一步的走: 最中间:在断点开始一步一步的走,遇到函数不会进入函数,而是直接跳过函数(但是把函数中的代码整体走完的): 最右边:断点开始一部迅速返回上一级函数调 ...
【转载】 程序员制作996.icu网站抗议加班,你认为996能提高工作效率吗?