一、效果图

【关闭】

【展开】

二、代码

【HTML】注:布局一定要用DIV不是select否则效果····

部门

@*

*@

【js】

① 以下为固定方法

function initSelectTree(id, isMultiple, chkboxType, zNodes) {

var setting = {

data: {

simpleData: {

enable: true

}

},

check: {

enable: false,

chkStyle: "radio",

radioType: "all",

},

chkboxType: { "Y": "ps", "N": "ps" },

callback: {

onClick: onClick,

onCheck: onCheck

}

};

if (isMultiple) {

setting.check.enable = isMultiple;

}

if (chkboxType !== undefined && chkboxType != null) {

setting.check.chkboxType = chkboxType;

}

var html = '

' +

'' +

'' +

'

';

$("#" + id).append(html);

$("#" + id).append('

' +

'

'name="' + $(".select-tree").attr("id") + '">' +

'

'

');

$("#" + id).bind("click", function () {

if ($(this).parent().find(".tree-content").css("display") !== "none") {

hideMenu()

} else {

$(this).addClass("layui-form-selected");

var Offset = $(this).offset();

var width = $(this).width() - 2 - 15;

$(this).parent().find(".tree-content").css({

left: Offset.left + "px",

top: Offset.top + $(this).height() + "px",

height: 250 + "px",

}).slideDown("fast");

$(this).parent().find(".tree-content").css({

width: width,

});

$("body").bind("mousedown", onBodyDown);

}

});

$.fn.zTree.init($("#" + id + "Tree"), setting, zNodes);

hideMenu();

}

//function beforeClick(treeId, treeNode) {

// var check = (treeNode && !treeNode.isParent);

// if (!check) alert("只能选择城市...");

// return check;

//}

function onClick(event, treeId, treeNode) {

var zTree = $.fn.zTree.getZTreeObj(treeId);

if (zTree.setting.check.enable == true) {

zTree.checkNode(treeNode, !treeNode.checked, false)

assignment(treeId, zTree.getCheckedNodes());

} else {

assignment(treeId, zTree.getSelectedNodes());

hideMenu();

}

}

function onCheck(event, treeId, treeNode) {

var zTree = $.fn.zTree.getZTreeObj(treeId);

assignment(treeId, zTree.getCheckedNodes());

}

function hideMenu() {

$(".select-tree").removeClass("layui-form-selected");

$(".tree-content").fadeOut("fast");

$("body").unbind("mousedown", onBodyDown);

}

function assignment(treeId, nodes) {

var names = "";

var ids = "";

for (var i = 0, l = nodes.length; i < l; i++) {

names += nodes[i].name + ",";

ids += nodes[i].id + ",";

}

if (names.length > 0) {

names = names.substring(0, names.length - 1);

ids = ids.substring(0, ids.length - 1);

}

treeId = treeId.substring(0, treeId.length - 4);

$("#" + treeId + "Show").attr("value", names);

$("#" + treeId + "Show").attr("title", names);

$("#" + treeId + "Hide").attr("value", ids);

}

function onBodyDown(event) {

if ($(event.target).parents(".tree-content").html() == null) {

hideMenu();

}

}

②以下为变动方法

Ajax("/BindCombox/GetDeptData", false, "POST", {}, function (data) {

var jsondata = JSON.parse(data);

if (jsondata.IsError) {

layer.msg("" + jsondata.ErrMsg, { icon: 5 });

} else {

zNodes = jsondata.Data;//获取数据源

initSelectTree("PDEPT_KEY", true, { "Y": "ps", "N": "s" }, zNodes);

var treeObj = $.fn.zTree.getZTreeObj("PDEPT_KEYTree");

var node = treeObj.getNodes();

treeObj.selectNode(node[0]);

treeObj.checkNode(node[0], true, true, true);

}

});

③数据源格式

[

{"id":41.0,"name":"技术二部","pId":1.0,"open":true},

{"id":42.0,"name":"技术三部","pId":null,"open":true}

]

注:设置open为true,树状菜单为展开状态

三、未实现效果问题解析

①没有引用js。ztree和layui

②布局采用select,没有使用div

③网络请求数据源不正确。

注:此方法仍存在不足之处,望有能人指点

第二百二十七节,jQuery EasyUI,ComboTree&lpar;树型下拉框&rpar;组件

jQuery EasyUI,ComboTree(树型下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解EasyUI中ComboTree(树型下拉框)组件的使用方法,这个 ...

ComboTree&lpar; 树型下拉框&rpar; 组件

本节课重点了解EasyUI中Tree(树)组件的使用方法, 这个组件依赖于Combo(下拉框)和 Tree(树)组件.一. 加载方式//class 加载方式

Layui:设置select下拉框自动选中某项

1.问题:layUI,在做编辑功能有下拉框数据时,需要初始化选中某个值,layUI官网没有相关api,可能我比较笨没找到 2.解决思路:出发点击事件 3.分析dom树结构,出发dl点击事件 方法: v ...

LayUI中实现上级下拉框动态加载下级下拉框js

js代码: var form = layui.form, layer = layui.layer; form.on("select(上级)", function(data){ va ...

【Layui】Layui模板引擎生成下拉框不显示

首先让我震惊了一下,layui引擎模板居然是支持ajax操作的 博主的需求是需要在数据表格内放入下拉框而下拉框的数据是数据库内查出来的(详见上一篇博客),但是下拉框怎么也显示不出来 找了四个小时的问题 ...

IE9&plus;的树状下拉菜单,支持多选

//JS核心代码function treeBox(Config){var el=eval(Config.el);var w=Config.width;var h=Config.height;var d ...

【Layui】当Layui数据表格和Layui下拉框组合时发生的问题

关于Layui数据表格用下拉框显示问题 如图所示 可以看见当点击下拉框时下拉选项被下拉框覆盖 此时你需要在数据表格渲染完成时的回调内添加如下代码即可 $(".sel_scrq"). ...

随机推荐

jQuery:详解jQuery中的事件(一)

之前用过一些jQuery的动画和特效,但是用到的部分也不超过10%的样子,感觉好浪费啊——当然浪费的不是jQuery,而是Web资源.后来就想深入研究下jQuery的内部机理,读过两遍jQuery源代 ...

从客户端中检测到有潜在危险的 Request&period;Form 值。

使用富文本编辑器是经常会遇到这个问题,在MVC中解决方法很简单只要在对应的action上添加[ValidateInput(false)]即可

第二百一十五、六天 how can I 坚持

昨天刷机刷到很晚,博客都忘写了,刷了个flyme,用着没什么感觉,今天打电话试了下还有破音,有点小后悔.不行过两天再刷回来. 今天.mysql ifnull函数. 两条熊猫鱼都死了,这两天雾霾那么严重 ...

音频播放&lpar;iOS开发&rpar;

音频处理 一.录音 录音应用场景 语音聊天 即时通讯软件中,都包含语音发送功能 语音备忘录 录一段音频,来记录某件事情 录音功能实现 导入AVFoundation框架 作用:一些多媒体的处理,基本上都 ...

转: 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)

转载请注明出处:http://blog.csdn.net/ns_code/article/details/17095733 挂起和恢复线程     Thread 的API中包含两个被淘汰的方法,它们用 ...

Datatable转换为Json

/// /// Datatable转换为Json /// ///

C&sol;C&plus;&plus;预处理指令&num;define&comma;&num;ifdef&comma;&num;ifndef&comma;&num;endif… (转)

本文转自博文C/C++预处理指令#define,#ifdef,#ifndef,#endif….这篇博文写得特别好,特转载. 本文主要记录了C/C++预处理指令,常见的预处理指令如下: #空指令,无任何 ...

本地访问虚拟机redis

1.开放端口号6379 iptables –I INPUT –p tcp –-dport 6379 –j ACCEPT 2.修改redis.conf 配置文件 ①修改redis绑定IP为虚拟机IP地址 ...

Python3基础 map&plus;lambda 将指定系列元素乘2

Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

Android中保存静态秘钥实践(转)

本文我们将讲解一个Android产品研发中可能会碰到的一个问题:如何在App中保存静态秘钥以及保证其安全性.许多的移动app需要在app端保存一些静态字符串常量,其可能是静态秘钥.第三方appId等. ...

html6+树状下拉列表,layui+ztree 树状下拉框相关推荐

  1. layui 如何取得select下拉框选中的值

    var addressid = $('#addressid[name=addressid]').val() form.on('select(filter)', function(data){conso ...

  2. layui 使用xm-select实现下拉框多选

    记录:layui 使用xm-select实现下拉框多选 使用示例: <script src="__STATIC__/plugs/layui-v2.5.6/ext/xm-select.j ...

  3. layui自定义模块实现下拉框,读取数据字典数据

    项目中页面很多下拉框,都是调用数据字典表数据,例如性别:男,女,:删除状态:已删除,正常. 如果每个地方都用ajax调用,过于麻烦,代码越多,维护工作就越麻烦.故使用layui自定义模块实现统一操作. ...

  4. html树形多选下拉列表,EasyUI 多行树形下拉框(Multiple ComboTree)_Vue EasyUI Demo

    源代码 Multiple ComboTree v-model="value" :data="data" :multiple="true" : ...

  5. layui动态生成的下拉框被遮住

    找到下拉款的div 设置:style="z-index: 9999" <div class="layui-input-inline" style=&quo ...

  6. html中下拉列表监听事件,ExtJS 下拉框监听事件、日期选择器监听事件、实现动态给items添加删除数据...

    本文将为您描述ExtJS 下拉框监听事件.日期选择器监听事件.实现动态给items添加删除数据,具体实现方法: 1.下拉框 下拉框选择时,触发事件的方法: 在 Ext.form.ComboBox 组件 ...

  7. layui 下拉框空选项不显示_layui下select下拉框不显示或没有效果

    Layui会对select.checkbox.radio等原始元素隐藏,从而进行美化修饰处理.但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例.值得注意的是:导航的Hover效果 ...

  8. layui下拉框怎么获取自定义值_layui如何得到select下拉框选中的值?

    layui如何得到select下拉框选中的值?下面本篇文章介绍一下layui取得select下拉框选中值的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. layui如何得到se ...

  9. LayUi数据表格数据太多导致下拉框卡顿问题

    LayUi数据表格数据太多导致下拉框卡顿问题 layui数据表格(详见官网) 根据官网示例 做出数据表格 示例根据官网表格展示 在layui官网 数据表格示例中 https://www.layui.c ...

最新文章

  1. ZooKeeper学习
  2. 被放养导致申博论文难产,该不该硬gang导师?
  3. 并查集 ---- 扩展域并查集判二分图 + 循环模拟字典树 The 2020 ICPC Asia Macau Regional Contest C. Club Assignment (详解)
  4. android 悬浮窗权限,Android 悬浮窗权限校验
  5. EasyUI 之datagrid 使用 【DataGrid属性解释】
  6. 端到端训练 联合训练_曲靖两家银行举行联合军事拓展训练 献礼祖国71周年华诞...
  7. elasticsearch api中的Buckets(桶)及Metrics(指标)
  8. ubuntu下pip的安装、升级和使用
  9. linux java测试工具_Linux下Java虚拟机状态监测工具
  10. linux java 日期 报错_Linux下java报错Too many open files的解决方法
  11. 【语音识别】基于matlab GUI BP神经网络0到10数字语音识别【含Matlab源码 672期】
  12. 厉害了!阿里的这套“实人认证”系统通过率高达99%
  13. Python学习笔记——python基础之Python实现名片管理系统
  14. ISP(七) CMOS图像传感器内部结构及工作原理
  15. 通俗易懂专利分类、专利申请流程
  16. swustoj 143 汉诺塔
  17. 服务器无线桥接技巧,服务器无线桥接设置方法
  18. 巾帼绽芬芳 一起向未来(中篇)
  19. MSSQL分离数据库和附加数据库
  20. SCTF2018 Writeup

热门文章

  1. 女人手掌中间有条竖线_女人手上多条生命线图解大全(图文)
  2. python dataframe 模糊匹配_Python模糊匹配(FuzzyWuzzy) – 保持最佳匹配
  3. 西南科技大学OJ题 求最小生成树(Prim算法)1075
  4. 李宏毅机器学习课程作业-HW1
  5. 宝塔 cloudfare 523错误解决
  6. MPI以太网通讯处理器在铝型材时效炉中的实际应用案例
  7. URL去除.php或.html等后缀
  8. AWS EKS版本升级
  9. Nvidia发布全新计算卡Tesla P40/P4
  10. 因子分析SPSS数学建模