ztree in jQuery click text box pop up drop down example code
- 2021-07-16 01:26:15
- OfStack
No more nonsense, the specific code is as follows:
<link rel="stylesheet" href="${ctx}/res/js/ztree/css/demo.css" type="text/css"/>
<link rel="stylesheet" href="${ctx}/res/js/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css"/>
<script type="text/javascript" src="${ctx}/res/js/ztree/js/jquery.ztree.core-3.5.js"></script>
<input onclick="showMenu();return false;"/>
var setting = {
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true
}
},
callback: {
onClick: onClick
}
};
function onClick(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
nodes = zTree.getSelectedNodes();
menuName = "";
menuId = "";
nodes.sort(function compare(a,b){return a.id-b.id;});
var isParent = nodes[0].getParentNode();
var isChildren = nodes[0].children;
if((!isParent && !isChildren) || (isParent)){
for (var i=0, l=nodes.length; i<l; i++) {
menuName += nodes[i].name + ",";
menuId += nodes[i].id + ",";
}
if (menuName.length > 0 ) menuName = menuName.substring(0, menuName.length-1);
if (menuId.length > 0 ) menuId = menuId.substring(0, menuId.length-1);
$("#menuName").val(menuName);
$("#menuId").val(menuId);
}
}
function showMenu() {
var cityObj = $("#menuName");
var cityOffset = $("#menuName").offset();
$("#menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast")
$("body").bind("mousedown", onBodyDown);
var width = cityObj.css("width");
$("#treeDemo").css("width",parseInt(width)-5);
}
function hideMenu() {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) {
if (!(event.target.id == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
hideMenu();
}
}
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});
The above is the site to introduce the jQuery ztree text box pop-up box example code, I hope to help you, if you have any questions welcome to give me a message, this site will reply to you in time!