ztree,treegrid和ztree的区别
大家好,今天来为大家解答ztree这个问题的一些问题点,包括treegrid和ztree的区别也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
ztree如何实现真正的单选
在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事件。代码及相关注释如下://改变节点状态(选中/取消选中)
ztree怎么自定义图标
样式定义在metro.css文件里(或者是zTreeStyle.css……),其中可加载单个的图片,也可以从一张图片中根据坐标获取我们要用的图形。对metro.css比较重要的一个图片是metro.png,在图片中每个小方格是5px,在css中加载时按照横纵坐标进行图标的获取。
在ztree中,css主要用了两种方式来加载图标。第一种:根据背景图,图标大小,和坐标位置
第二种:直接加载图片
这两种方式,第二种比较常用,但是对于数据量大的情况,第一种方法貌似更好。对于我们想要修改的元素,可以先在网页中定位一下,找到它具体的class,然后来这里更改就可以了。
3.Bootstrap风格装饰ztree
以最近很流行的Bootstrap为例,给ztree装饰成Bootstrap的风格。上边我们已经分析过ztree是如何设定样式,这里我们只需要任选其一做更改就行了,鉴于它使用了大量以背景图片为基础的图标设定,我们最好还是设定成直接加载图片的比较方便,要不然改的数据太多了……
1)ztree也有黑白色的css、png成套的样式设置,为了更符合Bootstrap的图标样式,让它替换掉原有的css文件和彩色图标
如果页面框架是Bootstrap的,则在显示的时候根节点的图标是“破碎”的,经过查找发现,是根节点图标位置受到Bootstrap的影响,在css文件中找到设置它的位置,进行坐标更改
2)上边的步骤只能算是在ztree内部设定,还不算加上Boostrap的风格。不过,我们只需要再给它更换一个图标,看起来就有那么点味道了(为了展示方便,进行了换行处理)
这样就是另一种风格了,如果你想要自定义其它风格,根据上边的demo来做,应该不算什么难事了。
小结:
ztree中有自定义图标的方法,但是在遇到图标显示不完整的时候还是没办法解决,最后更改了css文件才让图标显示完整。在解决这个问题的过程中了解了ztree图标的加载过程,所有顺便练练手,直接从CSS来给ztree换了个风格。
treegrid和ztree的区别
treegrid和ztree的区别
个人觉得Ztree比较好用一些首先treeView是无序灵活的可摺叠的树形选单,只试用于一些选单的导航。Ztree就比较强大了;
灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可以多节点拖拽哟
简单的引数配置实现灵活多变的功能
在一个页面内可同时生成多个 Tree例项
相容 IE、FireFox、Chrome、Opera、Safari等浏览器
支援 JSON资料
采用了延迟载入技术,上万节点轻松载入,即使在 IE6下也能基本做到秒杀
支援任意更换面板/自定义图示(依靠css)
提供多种事件响应回拨
支援极其灵活的 checkbox或 radio选择功能</ol>所以建议使用过程中,选择ztree比较好
jquery,ztree,core-3,5,js和 jquery,ztree,core-3,5,min,js的区别一个是没有压缩的,一个是压缩过的程式码
你可以用记事本开启看看
ztree中的jquery.js和最新版有什么区别不清楚啊,如果要用ztree的话,把你使用的jquery库换成ztree的呗,这样能减少一些不必要的麻烦
jquery easyui datagrid与 treegrid有什么区别现在上班的时候有时候用datagrid有时候用treegriddataGrid就是普通的显示列表表格,TreeGrid是树形表格,有父类和子类之分……
喜欢和爱的区别讨厌和恨的区别?喜欢代表有好感,这个人符合你的审美观,你有想靠近对方的想法,但这这种好感还没有太强烈;爱是喜欢的升级版,爱是两个人的事,相互之间都有着强烈的感情,互相离不开彼此,希望对方过得很好,已经成为生活中的一部分。讨厌是你不喜欢那个人,但是却没有报复和强烈的仇视想法;而恨不仅仅讨厌对方,还有一种想要报复和极度仇视的心理存在。
rapper和hip-hopper的区别?有区别吗hip-hopper是rapper中一种
AFP和CFP的区别 4大明显区别AFP,考试只考金融基础知识一,金融基础知识二
CFP,考的是个税,综合案例,投资,员工福利,保险,五科~~~
AFP是CFP认证体系之一,现如今在银行已经被列为基本持证之一,而CFP持证人,则是在现在,也是未来即将爆发的人才计划,无论跳槽,转岗,加薪,C自然优于A
AFP通过培训学习,一个半月就考出,而CFP,在这里,零基础最快也要三个多月,~~~~
thought和but,or和and的区别你想写的应该是though吧though是尽管的意思,是副词,引导让步状语从句,可放句首或句中,但是不能和but连用but是但是的意思,是连词,连线两个并列句,中间用逗号隔开,表示转折;but也有除了的意思or是或者,连词,有选择的意思,通常否定句中连词用or,肯定句中连词用and,但是也有特殊情况在否定中并列结构用or连线,但含有两个否定词的句子实际被看作是肯定结构,因此要用and。or还有否则的意思。and意思就不用我说了是连词,表并列的,可连线单词,从句
撙和盏的区别樽和盏的区别是什么读音:[zūn]
部首:木五笔:SUSF
释义:古代盛酒的器具。
读音:[zhǎn]
部首:皿五笔:GLF
释义:1.小杯子。 2.指油灯盛油的浅盆。 3.量词,指灯。
chemistry和reactions的区别chemistry和reactions的区别是什么从英语名称来理解,pharmaceutical chemistry和 medicinal chemistry都是药物化学。但他们的方向却是不一样的。
现在国外药物化学已经分化成两门侧重点不同的专业课程:以发展新药为主要目标的药物化学(Medicinal Chemistry)和以临床应用、药学服务为主的药物化学(Pharmaceutical Chemistry)。
Medicinal Chemistry侧重发展研发新药,而Pharmaceutical Chemistry则是为药物提供载体材料,甚至医用缝合矫形辅助康复材料都应该属于这个范畴的。
文章到此结束,希望我们对于ztree和treegrid和ztree的区别的问题能够给您带来一些启发和解决方案。如果您需要更多信息或者有其他问题,请随时联系我们。