ztree自定义单选框
来源:互联网 发布:淘宝好听的用户名大全 编辑:程序博客网 时间:2024/06/06 14:11
在使用ztree插件单选框时,有时需要父子节点操作关联,由于单选框特性,ztree并没有提供相关的功能,那么该如何实现选中子节点时,父节点自动变成选中状态,而父节点取消选中时,子节点也取消选中呢?
html代码
<span style="font-weight:bold;font-size:15px;">区域选择:</span> <input type="text" id="citySel" onclick="showMenu()" readonly="readonly" placeholder="请选择区域" style="width:180px;font-weight:bold;"/> <input type="text" id="parent_layer_idx" style="display:none;"/> <div id="menuContent" style="display:none; position:absolute;background:#eee;overflow: auto;margin-top:40px;margin-left:83px;z-index:999"> <ul id="treeDemo" class="ztree" style="margin-top:0; width:180px; height: 300px;"></ul> </div>js代码
//加载树形结构 $.fn.zTree.init($("#treeDemo"), setting);
//初始化树形结构var setting = { async: { enable: true, url: ContentRoot + "system/queryTreeNode4BAllBLayerAction.do", dataFilter: filter }, check: { enable: true, chkStyle: "checkbox", chkboxType:{ "Y" : "p", "N" : "s" } }, view: { dblClickExpand: false, showIcon: false }, data: { simpleData: { enable: true, idKey: "n_id", pIdKey: "p_id", rootPId: "-1" } }, callback: { beforeCheck: onChangeSel, onClick: onClick, onCheck: onCheck } };function filter(treeId, parentNode, responseData) { return eval("(" + responseData.jsonString + ")");}//自定义单选框function onChangeSel(treeId, treeNode){ if(treeNode.checked){return;}var zTree = $.fn.zTree.getZTreeObj("treeDemo");var nodes=zTree.getCheckedNodes(true); $.each(nodes,function(i,n){ n.checked=false; }); zTree.refresh();}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) { var zTree = $.fn.zTree.getZTreeObj("treeDemo"); nodes = zTree.getCheckedNodes(true); v = ""; id = ""; for (var i = 0, l = nodes.length; i < l; i++) { v += nodes[i].name + ","; id += nodes[i].n_id + ","; } if (v.length > 0) v = v.substring(0, v.length - 1); var cityObj = $("#citySel"); cityObj.attr("value", v); $("#citySel").val(v); if (id.length > 0) { $("#parent_layer_idx").val(id.substring(1, id.length - 1)); //$("#parent_type").val(id.substring(0, 1)); }}function showMenu() { var cityObj = $("#citySel"); var cityOffset = $("#citySel").offset(); $("#menuContent").css({ left: (cityOffset.left - cityOffset.width) + "px", top: (cityOffset.top - 45) + "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(); }}
效果
这样,在选择不同父节点或子节点时,为单选,并且在选定一个节点时,其父子节点的操作也是关联的
阅读全文
0 0
- ztree自定义单选框
- zTree自定义Title属性
- jquery ztree 增加自定义属性
- 自定义zTree+easyui右键菜单
- ztree自定义图标实现方法
- ztree 扩展name自定义格式
- zTree初始化 节点添加自定义属性
- ztree自定义按钮的显示和功能
- zTree
- ztree
- ztree
- ztree
- ztree
- zTree
- zTree
- zTree
- zTree
- ztree
- Java __IO流---两张体系架构图搞定
- 获取Goroutine Id的最佳实践
- zcmu-1913
- python编程从入门到实践 习题12-3 火箭
- Android开发使用https及Webview访问https页面
- ztree自定义单选框
- Android进阶#(7/12)装点程序“门面”——代码规范_命名+编码建议
- JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- HDU
- poj-1191-棋盘分割
- css基本操作
- Head First设计模式学习笔记
- 第四篇:深入浅出UML类图(一)
- vba中的自动筛选(atuo filter) 实现(realize)