zTree下拉菜单实例

<!DOCTYPE html>
<html>
<head>
<title>ztree01.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">


<script type="text/javascript"
src="C:\Users\Administrator\Desktop\jquery-1.9.0.js"></script>

<link rel="stylesheet" type="text/css" href="../resources/css/ztree/zTreeStyle.css"/>


<script type="text/javascript"
src="../resources/js/tree/jquery.ztree.core-3.5.js"></script>

<script type="text/javascript">


var setting={
view:{dblClickExpand:false},
data:{simpleData:{enable:true}},
callback:{
beforeClick:beforeClick,
onClick:onClick}
};

var zNodes=[
{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},
{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},
{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},
{id:61, pId:6, name:"福州"},
{id:62, pId:6, name:"厦门"},
{id:63, pId:6, name:"泉州"},
{id:64, pId:6, name:"三明"}
];

function beforeClick(treeId, treeNode) {
var check = (treeNode && !treeNode.isParent);
if (!check) alert("只能选择城市...");
return check;
}


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);
}



//onClick必须在setting里面的callback里面设置,设置onClick:onClick
function onClick(e, treeId, treeNode){
//获取ztree对象,treeDemo是显示下拉列表的dom的id值
var zTree=$.fn.zTree.getZTreeObj("treeDemo");
nodes=zTree.getSelectedNodes();
console.log(nodes);
v="";
nodes.sort(function compare(a,b){
return a.id-b.id;
});

//遍历选中的nodes的值,加入到v中。 v会被加入citySel input节点中。
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是id为citySel的input节点。 选中treeNode的时候,就会将input的值变为选中的值
cityObj.attr("value",v);
}

function onBodyDown(event){
//alert("onBodyDown");
if(!(event.target.id=="menuBtn"||event.target.id=="menuContent"||
$(event.target).parents("#menuContent").length>0)){
hideMenu()};
}

function hideMenu(){
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown",onBodyDown);
}


$(function(){
console.log(zNodes);
$.fn.zTree.init($("#treeDemo"),setting,zNodes);

});



</script>


</head>

<body>
<h1>下拉菜单</h1>
<div class="content_wrap">
<ul class="list">
<li class="title">  <span class="highlight_red">选择城市时,</span></li>
<li class="title">  城市:<input id="citySel" type="text" readonly="readonly" value=""
style="width:120px;"/>  
<a id="menuBtn" href="#" onclick="showMenu();return false;">选择</a></li>
</ul>
</div>

<div id="menuContent" class="menuContent" style="display:none;position:absolute;">
<ul id="treeDemo" class="ztree" style="margin-top:0;width:160px;"></ul>
</div>


</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值