首先需要引进的包 jquery .min.js 、jquery.ztree.core.js、 jquery.ztree.excheck.js
<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.core-3.3.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.excheck-3.3.js"></script>
<SCRIPT type="text/javascript">
<!--
var setting = {
check: {
enable: true, //设置是否显示选框
chkStyle: "radio", //显示为单选框,为checkbox就是复选框
radioType: "all"
},
view: {
dblClickExpand: false //true / false 分别表示双击节点 切换 / 不切换 展开状态
},
data: {
simpleData: {
enable: true,//确定初始化树时是否采用简单数据模式(Array),不需要用户再将List强制转化成JSON嵌套格式
idKey:"id", //节点唯一标识
pIdKey:"pid" //父节点唯一标示
rootPId:0 //
}
},
callback: { //下拉菜单 你选中后触发的回调函数
onClick: onClick,
onCheck: onCheck
}
};
var zNodes =[ //切砖 id
{id:1, pId:0, name:"北京"},
{id:2, pId:0, name:"天津"},
{id:3, pId:0, name:"上海"},
{id:6, pId:0, name:"重庆"},
{id:4, pId:0, name:"河北省", open:true, nocheck:true},
{id:41, pId:4, name:"石家庄"},
{id:42, pId:4, name:"保定"},
{id:43, pId:4, name:"邯郸"},
{id:44, pId:4, name:"承德"},
{id:5, pId:0, name:"广东省", open:true, nocheck:true},
{id:51, pId:5, name:"广州"},
{id:52, pId:5, name:"深圳"},
{id:53, pId:5, name:"东莞"},
{id:54, pId:5, name:"佛山"},
{id:6, pId:0, name:"福建省", open:true, nocheck:true},
{id:61, pId:6, name:"福州"},
{id:62, pId:6, name:"厦门"},
{id:63, pId:6, name:"泉州"},
{id:64, pId:6, name:"三明"}
];
function onClick(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.checkNode(treeNode, !treeNode.checked, null, true);// 勾选 或 取消勾选 单个节点。
return false;
}
function onCheck(e, treeId, treeNode) { //单击某一个选项后 将该选项的name属性 输入到输入框厚重
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
nodes = zTree.getCheckedNodes(true),
v = "";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
var cityObj = $("#citySel");
cityObj.attr("value", v);
}
function showMenu() {
var cityObj = $("#citySel");
var cityOffset = $("#citySel").offset(); //找出边框的位置
$("#menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");//定位下拉菜单高宽
$("body").bind("mousedown", onBodyDown); //鼠标点击 触发函数
}
function hideMenu() { //隐藏菜单
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) { //鼠标点击触发判断 是否隐藏菜单
if (!(event.target.id == "menuBtn" || event.target.id == "citySel" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
hideMenu();
}
}
$(document).ready(function(){ //加载树
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});