论坛首页 Web前端技术论坛

★★最好用的树形下拉框组件(单选、多选均可)★★

浏览 37383 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (10) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-03-19   最后修改:2012-12-03

 

我在很久以前曾发布过一个美化的单选下拉框组件,一度很火爆。相信现在读我帖子的人里面仍然有在用这个组件的。

以前那个帖子地址:http://www.iteye.com/topic/851317

 

 

这次给大家介绍一款非常好用的树形下拉框组件:QUI树形下拉框。

 

特点1:美化的并且可自定义的外观

该下拉框使用JS进行渲染。下拉框样式如下:


该外观是由CSS和图片控制。通过修改CSS可以很方便地实现更改外观。

QUI树形下拉框不存在IE6中无法被浮动层遮住等问题。

 

 

特点2:使用简单

引入脚本和相应的CSS之后, 在页面写如下的HTML代码:

<div class="selectTree" treeType="ztree" id="sel01"><ul id="treeDemo" class="ztree"></ul></div>

 

然后为其指定JSON数据即可。数据格式:

var zNodes1 =[
	{ id:1, pId:0, name:"父节点1",open:true},
	{ id:11, pId:1, name:"叶子节点11"},
	{ id:12, pId:1, name:"叶子节点12"},
	{ id:13, pId:1, name:"叶子节点13"},
	{ id:2, pId:0, name:"父节点2 ",open:true},
	{ id:211, pId:2, name:"叶子节点21"},
	{ id:212, pId:2, name:"叶子节点22"},
	{ id:213, pId:2, name:"叶子节点23"},
	{ id:214, pId:2, name:"叶子节点24"}
];

 

 

 

特点3:控制某些节点不可选

如果希望某些子节点(例如父节点)不可选择,为该项JSON数据设置clickExpand:true即可,这样点击后不会选中项,而是展开子节点。

 

 

 

 

 

特点4:触发close事件

可以为selectTreediv添加close事件,每当内容层关闭时会调用。通过这种方式可以将选中项传递给hidden表单元素,用于提交表单。

 

 

 

特点5:自定义图标

下拉框树结构每个节点都可以自定义图标。效果如下:


 

 

 

 

特点6:宽度处理

QUI树形下拉框对于宽度的处理方式是:默认会有一个宽度,当树结构过宽则内容层会增大宽度用于自适应里面的内容。

 

还可以为下拉框和内容层强制指定一个宽度。效果如下:

 

 

 

 

 

特点7:树形下拉框可编辑

为下拉框代码添加一个editable="true"属性,就把它变成了一个可编辑的下拉框,效果如下:

 


 

 

 

 

 

特点8:可通过AJAX方式加载数据

下拉框的树结构可以通过ajax方式加载。详情请参见在线相关示例。

 

 

特点9:变成树形多选下拉框

为下拉框添加multiMode="true"属性,可以把它变成树形多选下拉框。效果如下:

 


 

当选择完毕后,鼠标移入可以显示所有选择的选项提示。效果如下:

 


 

 

 

特点10:树形多选下拉框的不分组模式

改变树形多选下拉框的JSON数据,让其不分组。那么就变成一个select多选下拉框。效果如下:

 

 


 

 

 

特点11:树形下拉框的验证

结合QUI框架的验证机制,可以方便地为树形下拉框添加验证。效果如下:

 

 


 

 

 

特点12:树形下拉框动态增删改选项

树形下拉框支持动态增删改选项。结合ajax机制可以方便地实现如下效果:

 


 

添加一个节点后的效果:

 


 

 

 

特点13:完美的浏览器兼容性

无论是IE6IE7IE8IE9还是FireFoxChromeSafira,甚至在Linux下都保持功能与外观的一致性。

 

 

本组件内部的树结构采用的是zTree组件,感谢zTree组件作者的支持与授权。

 

补充:以前那个帖子:http://www.iteye.com/topic/851317

下载链接失效了,由于时间太久帖子没法编辑,所以在这里补上。

该select组件最新的下载地址:

http://qui-frame.googlecode.com/files/select.rar

 

  • 大小: 17.9 KB
  • 大小: 10.7 KB
  • 大小: 12.4 KB
  • 大小: 13 KB
  • 大小: 2.3 KB
  • 大小: 13.2 KB
  • 大小: 5.2 KB
  • 大小: 11.3 KB
  • 大小: 10.3 KB
  • 大小: 11.8 KB
  • 大小: 10.7 KB
   发表时间:2012-03-20  
38M太大了吧,里面难道还有其他东西。
0 请登录后投票
   发表时间:2012-03-20  
chrome下 样式走样!!!
0 请登录后投票
   发表时间:2012-03-20  
示例很精彩,以前有过类似需求,但是都是用图标按钮外链的方式规避解决了,不知道跟其他JS库兼容性怎么样,有时间下来研究下。
0 请登录后投票
   发表时间:2012-03-20  
kjj 写道
chrome下 样式走样!!!

的确!!
0 请登录后投票
   发表时间:2012-03-20  
收费 蛤蛤
0 请登录后投票
   发表时间:2012-03-20  
chrome下第二个实例不是用,出现问题了
0 请登录后投票
   发表时间:2012-03-21  
这很火爆吗???
0 请登录后投票
   发表时间:2012-03-21  
怎么不实现一个纯js的呢? 我要用你这个组件,还得引用你整个js,能用比较常用的例如jquery实现一下么?
0 请登录后投票
   发表时间:2012-03-21  
不就是zTree吗,楼主偷换主题,哈哈
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics