var zTree1;
var setting;
var retrunObj;
setting = {
check: {
enable : true
},
async: {
enable: true,
otherParam: {"conditionMap.mtType":"${conditionMap.mtType}"},
url: "${ctx}/portal/inventoryTypeAction!getTree.action"
},
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "pId"
}
},
callback: {
beforeExpand: function(){return true;},
beforeCollapse: function(){return true;},
onClick: zTreeOnClick,
onCheck: onCheck
}
};
var zNodes =[];
function zTreeOnClick(event, treeId, treeNode) {
if (treeNode) {
$.dialog.data("selTypeData",treeNode);
$.dialog.close();
}
}
//选择复选框事件
function onCheck(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("dropdownMenu");
nodes = zTree.getCheckedNodes(true); //获得所有被选中节点,包括父节点和子节点
var v = "";
vid = "";
for (var i=0, l=nodes.length; i<l; i++) {
if( nodes[i].isParent == false) { //如果是叶子节点的话才取出来
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);
var data =[];
data[0] = vid;
data[1] = v;
art.dialog.data('returnData',data); //传递数据到另一页面
}
function reloadTree() {zTree1 = $.fn.zTree.init($("#dropdownMenu"),setting, zNodes);}
$(function(){reloadTree();});
注意点一:当用复选框时我们可以用art.dialog.data 来把我们需要的数据传递到另一页面,需要一条数据时用selTypeData传递
注意点二:嫑随便更改treeNode的值,节点的数据是程序通过异步去后台加载过来的
关于JQuery的资料:http://www.baby666.cn/v3/main.php#_zTreeInfo
关于artDialog的资料:http://www.planeart.cn/demo/artDialog/index.html