通过ajax 后台传递的 区域id 选中ztree的节点 并展开节点
代码如下:
< script type = "text/javascript" >
var flag = "<%=request.getParameter("
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 后台传递的 区域id 选中ztree的节点 并展开节点的更多相关文章
- ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用
1.在js中封装ajax向后台传递数组参数函数 //combogrid * * @Description 封装ajax向后台传递数组参数并将后台响应的数据赋值给一个变量方便其他插件使用该数据函数 * ...
- ajax获取后台传递的json数据
最近在使用JQuery的ajax方法时,需要返回的数据为json数据,在success返回中数据处理会根据返回方式不同会采用不同的方式来生成json数据.在$.ajax方法中应该是如何来处理的,简 ...
- ajax如何向后台传递数组,在后台该如何接收的问题(项目积累)
一.后台如何接收从前台接收的数组: 使用request.getParameterValues(String xxx); <input type="text" name=&qu ...
- 【转】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 根据后台传递过来的三维数组动态生成三级菜单
根据后台传递过来的三维数组动态生成三级菜单 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- jquery ajax post 传递数组 ,多checkbox 取值
jquery ajax post 传递数组 ,多checkbox 取值 http://w8700569.iteye.com/blog/1954396 使用$.each(function(){});可以 ...
随机推荐
- 有用的css片段
1.背景渐变动画 CSS中最具诱惑的一个功能是能添加动画效果,除了渐变,你可以给背景色.透明度.元素大小添加动画.目前,你不能为渐变添加动画,但下面的代码可能有帮助.它通过改变背景位置,让它看起来有动 ...
- javascript中this指针
看完此片文章豁然开朗,非常感谢.javascript技术难点(三)之this.new.apply和call详解 下面说一说自己的理解: this指针总是指向调用他的对象,其实我更愿意理解为:this指 ...
- php案列4
一个最简单的利用php生成随机数或者随机字符串的函数.$chars变量中的字符自己修改就能达到数字或者字符串的目的 $len表示长度,代码如下: 复制代码 代码如下: /** * 产生随机字符 ...
- Calculator(补)
MyGitHub 刚刚开始时确实是连题目都看不懂= =,从第二行的新建类开始,就不知题目所云.所以我的困难比很多同学都要 开始得早一些--从题目第二行开始. 准确的说,当我按照题目要求新建了一个sca ...
- iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用
一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)num ...
- MIUI5(红米、小米)打开开发者模式
在miui5系统中系统默认隐藏原生android的开发者模式选项,要想启动该模式需要按照以下操作: 设置-关于手机- 连续点击安卓版本4下. 然后再返回主设置页面下,你会发现开发者选项已经出现.
- JavaWeb AJAX
1. Asynchronized JavaScript And XML 异步JavaScript和XML,它并不是一门新的语言或技术,实际是几项技术按一定的方式组合在一起共同的协作中发挥各自的作用, ...
- Singleton Pattern单例模式
单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例.Java里面实现的单例是一个虚拟机的范围,因为装载类的功能是虚拟机的,所以一个虚拟机在通过自己的 Cla ...
- Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project LogTest: Compilation failure -> [Help 1]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default ...
- OC--编码建议
原文 http://www.cocoachina.com/ios/20151118/14242.html 本文是投稿文章,作者: IOS_Tips(微信公众号) “神在细节之中” Object ...