问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ztree可以放在select中吗

发布网友 发布时间:2022-05-13 12:39

我来回答

1个回答

热心网友 时间:2022-04-22 22:05

在ztree中使用单选->复选层次结构
起因
要使用zTree实现该功能:选中状态在各个条件(Linux_ipfwd,Linux_ipsec,usdpaa_hello-reflector,usdpaa_rc_ipfwd)之间互斥,当状态切换时自动取消上个属性下的所有子选项。
解决
因为zTree中单选,复选状态都是使用图片表示的,然后提供接口根据half,checked等属性来返回节点的状态。虽然这样可以灵活的的对节点进行操作,但去失去了最简单的提交方式(submit form)。
所以我们首先将zTree的图片按钮还原成html按钮,这个在zTree中已经提供了demo,我们只要根据demo中的方式来添加自定义控件,代码如下:var _handles = {
0:function (treeNode) {
return "";
},
1:function (treeNode) {
return "";
},
2:function (treeNode) {
return "";
}
};
var IDMark_A = "_a";
function addDiyDom(treeId, treeNode) {
var aObj = $("#" + treeNode.tId + IDMark_A);
aObj.before(_handles[treeNode.level](treeNode));
var btn = $("#fsl_" + treeNode.tId);
if (btn) {
if (treeNode.level == 1) {
btn.bind("click", function () {
click_v1(treeNode);
});
} else if (treeNode.level == 2) {
btn.bind("change", function () {
change_v2(treeNode, btn);
});
}
}
}
这里比较重要的是click_v1,change_v2这两个绑定函数,click_v1绑定到单选按钮的click事件,change_v2绑定到复选框的change事件。代码及相关注释如下://改变节点状态(选中/取消选中)
function changeNode(node, status) {
var btn = $("#fsl_" + node.tId);
if (btn.attr("checked") != status) {
$("#fsl_" + node.tId).attr("checked", Boolean(status));
}
}
//判断节点是否选中
function isSelectNode(node) {
return $("#fsl_" + node.tId).attr("checked");
}
//判断节点的子节点是否全部选中
function isSelectAllChildNoes(node) {
var isSelectAll = true;
var childNodes = node.children;
if (childNodes) {
for (var i = 0; i < childNodes.length; i++) {
if (!isSelectNode(childNodes[i])) {
isSelectAll = false;
break;
}
}
}
return isSelectAll;
}
//改变节点的所有子节点状态(选中/取消选中)
function changeAllChildNoes(node, status) {
var childNodes = node.children;
if (childNodes) {
for (var i = 0; i < childNodes.length; i++) {
changeNode(childNodes[i], status);
changeAllChildNoes(childNodes[i], status);
}
}
}
//改变节点的所有父节点状态(选中/取消选中)
function changeAllParentNoes(node, status) {
var parentNode = node.getParentNode();
if (parentNode) {
if (status) {
if (isSelectAllChildNoes(parentNode)) {
changeNode(parentNode, status);
}
} else {
changeNode(parentNode, status);
}
changeAllParentNoes(parentNode, status);
}
}
//选中的单选框tId
var global_mark = {};
//复选框改变状态所触发的事件
function change_v2(treeNode, btn) {
if (btn.attr("checked")) {
var parentNode = treeNode.getParentNode();
if (!isSelectNode(parentNode)) {
changeNode(parentNode, true);
click_v1(parentNode);
}
}
}
//单选框改变状态所触发的事件
function click_v1(treeNode) {
if (treeNode.tId != global_mark[treeNode.type]) {
var lastNode = treeObj.getNodeByTId(global_mark[treeNode.type]);
if (lastNode) {
changeAllChildNoes(lastNode, false);
}
global_mark[treeNode.type] = treeNode.tId;
}
}
这样就实现了先前所提到的功能。
文章作者:iitshare
本文地址:http://www.iitshare.com/ztree-radio-checkbox.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!
结语:
,change_v2绑定到复选框的change事件。代码及相关注释如下://改变节点状态(选中/取消选中)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
可以用电高压锅做蛋糕吗 蛋糕机选哪家实惠? 京东闪付开通后无法添加到applepay怎么办 二年级数学说课稿范文 苹果手机电充到80就不充了怎么回事 上有八,下有八中间有个十字花打一字 ...排名22000.能否上到广工的机械制造和自动化(卓越工程师班)_百度知 ... 把内存由DDR2升级到DDR3,是不是要设置什么东东啊。 怎样吧DDR2的内存条改成DDR3 ...的内存条是DDR2的,我想换DDR3的可以吗?该怎么换?还有该注意什么... 为什么用耳机就能听出重低音的效果? &lt;a-tree-select 如何获取key sql 查询 tree 耳机喇叭小为什么有重低音 耳机插上手机为什么一直都是重低音,只有按住通话键才能恢复正常?有自带重低音的耳机就可以调,没有重低 bamboo paper是什么? bamboopaper,sketchbook怎么读 关于bamboopaperapp问题ipad上的 在iPad上画画时手掌会不会产生误触?使用的应用程序是Bamboo Paper 2.0。 bamboo Paper为什么手不能碰 bamboo paper怎么翻页 请问Bamboopaper文件如图,文件的密码忘记,如何解决?是否有默认密码,非常感谢!! ipad 上bamboo paper绘画软件购买完后,如果不小心卸载了再下载下来,还用在购买一次工具吗? 怎么把文件导入bamboopaper 什么时候会能出Bamboo Paper 适应nexus 4手机的版本? bamboo+paper怎么登录 在苹果商店里下载Bamboo Paper2.0是免费的吗? 为了能在iPad上写字显示原画,买了一个bamboo paper的触控笔,也下载了对应的App,可 你们的bamboo paper 为毛不支持微软的surface pro 啊? bamboo paper在oppo find7上不兼容 kendotreeview select 怎么获取选中 的值 保险中断会有什么影响 C#里树形视图中Select()方法是干什么的? Winform中使用TreeView控件时selectNode有值,但是selectNode.Tag为null 断保险后会有什么影响 c#中的treeView点击事件selectAfter事件怎么写 请教在treeview中怎么将selectnode设为指定节点 辞职在家带小孩 保险停了,可以过两年工作再交吗,会不会有什么影响? 我是农村户口,准备自己先交农保 社保断交对小孩读书有影响吗? 点击start按钮实现Tree的展开,点击close实现tree的关闭,怎么实现? jstree 如何获得选中节点的值? 京东买手机容易有假货吗? 连接器的插头和插座的绝缘电阻怎么做 在京东买手机会有假货吗? 京东手机有假的吗? 京东商城卖的手机有假的吗 我在京东上千瑞达手机旗舰店买的手机会不会有假? 京东手机有假货或者二手货吗 在施工临时用电中如何进行电焊机的可视功率计算? 优狐300m墙壁路由器怎样连接