IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 点击input框弹出ztree页 -> 正文阅读

[JavaScript知识库]点击input框弹出ztree页

效果图
在这里插入图片描述

引入的js与css

  <link rel="stylesheet" type="text/css" href="${ctx}/css/zTreeStyle/zTreeStyle.css">
  <script type="text/javascript" src="${ctx}/static/zTree/jquery.ztree.core-3.5.min.js"></script>
  <script type="text/javascript" src="${ctx}/static/zTree/jquery.ztree.excheck-3.5.min.js"></script>

HTML代码

<div class="col-md-5 col-md-offset-1 form-group">
                <label for="" class="col-md-3 text-left control-label lh34 font-normol" id="orgLabel">原属机构</label>
                <div class="col-md-9 text-left">
                    <input type="text" id="organization" name="organization" class="form-control" onclick="showMenu(); return false;"  autocomplete="off"  readonly="readonly" aria-label="...">
                </div>
                <div id="menuContent"  style="position: absolute; display: none;width:64%;height:auto; z-index: 10; background-color: #eee; overflow: auto">
                      <ul id="treeDemo" class="ztree"></ul>  //class必须为ztree
                </div>
            </div>

js代码

var setting = {
        view: {
            showIcon: false,//设置 zTree 是否显示节点的图标。默认值:true
            showLine: false//设置 zTree 是否显示节点之间的连线。默认值:true
        },
        data: {
            simpleData: {
                enable: true,//确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 addNodes 方法中输入的 newNodes 数据是否采用简单数据模式 (Array)

                idKey: "id",//你后台返回的json的id字段(节点数据中保存唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效])
                pIdKey: "pId",//你后台返回的json的父级id字段(节点数据中保存其父节点唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效])
                rootPId: 0//(用于修正根节点父节点数据,即 pIdKey 指定的属性值。[setting.data.simpleData.enable = true 时生效])
    }
    },
    callback: {
        onClick: onClick//用于捕获节点被点击的事件回调函数
        //如果设置了 setting.callback.beforeClick 方法,且返回 false,将无法触发 onClick 事件回调函数。

    }
    };

    var filename;
    var parentids;
    var parentId;


    function onClick(e, treeId, treeNode) {
        $('#organization').val(treeNode.name);//当前节点name赋值input框
        console.log('id:'+treeNode.id);//当前选中节点id,可用于向后台传值
        filename = getFilePath(treeNode);//获取所有父节点的名字
        parentids = getFileId(treeNode);//获取所有父节点的id
        parentId = treeNode.id;//获取点击节点的id
        hideMenu();
    }
    //获取所有父节点名字
    function getFilePath(treeObj){
        if(treeObj==null)return "";
        var filename = treeObj.name;
        var pNode = treeObj.getParentNode();
        if(pNode!=null){
            filename = getFilePath(pNode) +">"+ filename;
        }
        return filename;
    }
    //获取所有父节点id
    function getFileId(treeObj){
        if(treeObj==null)return "";
        var id = treeObj.id;
        var pNode = treeObj.getParentNode();
        if(pNode!=null){
            id = getFileId(pNode) +">"+ id;
        }
        return id;
    }

    function showMenu() {//输入框的点击事件
        var labObj = $('#orgLabel');
        var labObjOffset = labObj.offset();
        $("#menuContent").css({ left: labObjOffset.left - 15 + "px" , top:  labObj.outerHeight() + "px" }).slideDown("fast");//根据输入框的css格式设置offSet,否则会导致ztree与input不对称
        $("body").bind("mousedown", onBodyDown);
    }

    function hideMenu() {//初始化隐藏下拉树
        $("#menuContent").fadeOut("fast");
        $("body").unbind("mousedown", onBodyDown);
    }
    function onBodyDown(event) {//树的主体
        if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
            hideMenu();
        }
    }

$(document).ready(function(){
        var treeNodes = [
            {"id":1, "pId":0, "name":"test1"},
            {"id":11, "pId":1, "name":"test11"},
            {"id":12, "pId":1, "name":"test12"},
            {"id":111, "pId":11, "name":"test111"},
        ];

        $.fn.zTree.init($("#treeDemo"), setting, treeNodes);

		//此处treeNodes取值也可设置后台通过ajax传值,切记注意数据格式不正确引起的问题
		/*$.ajax({
            type:"post",
            url:'${ctx}${parentPath}/test/getdata',
            async:true,
            success:function(res){
				var treeNodes =res.getOrgList;
                $.fn.zTree.init($("#treeDemo"), setting, treeNodes);
    });
    */
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:10:38  更:2021-11-28 11:13:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 3:30:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码