文档章节

JS简洁版下拉树

zqb666
 zqb666
发布于 2016/07/06 11:31
字数 212
阅读 13
收藏 0

这是struts2的应用其他也可以根据需要灵活改动:

        <script type="text/javascript">
    //JS下拉 树
var data =new Array();
<s:iterator  value="#request.articleTypelist" status="stuts">
data[${stuts.index}]= {id:'<s:property value="id" />',pid:'<s:property value="parentID" />',text:'<s:property value="name"  escape="false"/>'};

  </s:iterator>
function TreeSelector(item,data,rootId){
this._data = data;
this._item = item;
this._rootId = rootId;

}
TreeSelector.prototype.createTree = function(){
var len =this._data.length;
for( var i= 0;i<len;i++){
if ( this._data[i].pid == this._rootId){
this._item.options.add(new Option(".."+this._data[i].text,this._data[i].id));
for(var j=0;j<len;j++){
this.createSubOption(len,this._data[i],this._data[j]);

}
}
}
}

TreeSelector.prototype.createSubOption = function(len,current,next){
var blank = "    ";
if ( next.pid == current.id){
intLevel =0;
var intlvl =this.getLevel(this._data,this._rootId,current);
for(a=0;a<intlvl;a++)
blank += "    ";
blank += " ├-";
this._item.options.add(new Option(blank + next.text,next.id));

for(var j=0;j<len;j++){
this.createSubOption(len,next,this._data[j]);

}

}
}

TreeSelector.prototype.getLevel = function(datasources,topId,currentitem){

var pid =currentitem.pid;
if( pid !=topId)
{
for(var i =0 ;i<datasources.length;i++)
{
if( datasources[i].id == pid)
{
intLevel ++;
this.getLevel(datasources,topId,datasources[i]);
}
}
}
return intLevel;
}
function VF(){
    $('myselect').value=$('realtype').value;
}
</script>

 

 

 

© 著作权归作者所有

zqb666
粉丝 3
博文 81
码字总数 30260
作品 0
宁波
私信 提问
项目中EXTjs中运用到的下拉树

首先是项目的环境是java,用到spring3.1.2的框架,展示数据用的是 EXTJs (1)js代码中: (2) loader: new Ext.tree.TreeLoader({dataUrl:'application/categoryTree.json?type=2'})在Control......

EDIAGD
2013/02/04
4K
1
编写更加通用的 JavaScript

当你准备好抽象出一个 Web 组件的时候, JavaScript 能帮你做到,融入组件的 JavaScript 变得优雅利索;此时它像一把瑞士军刀,轻松帮你应对各种场景。但当你急于交付时,JavaScript 也能帮你...

红薯
2011/02/10
776
8
67 个节省开发者时间的实用工具、库与资源(前端向)

在这篇文章中,我不会与大家谈论大型的前端框架,如 React、Angular、Vue 等,也没有涉及那些流行的代码编辑器,如 Atom、VS Code、Sublime,我只想与大家分享一个有助于提升开发人员效率的工...

张孝国
2018/06/26
0
0
简洁JS 日历控件 支持日期和月份选择

以下这个JS日历控件是我的闲暇之余自己编写的,所有的代码全部在IE7/IE8/Firefox下面测试通过, 而且可以解决被iframe层遮盖的问题。现在只提供两种风格(简洁版和古典版)和两种语言(英文和...

梦梦阁
2018/09/06
43
0
在ExtJS的ComboBox组件中实现下拉树效果

看了很多关于EXT下拉树的实现, 发现很多例子都是对EXT原有的类进行扩展, 而且都发现用起来很费劲,在这里,本人实现的EXT下拉树是直接使用 Ext.form.ComboBox + Ext.tree.TreePanel, 将两者结...

itwriter
2014/03/19
958
2

没有更多内容

加载失败,请刷新页面

加载更多

Docker下使用disconf:细说demo开发

Docker下的disconf实战全文链接 《Docker搭建disconf环境,三部曲之一:极速搭建disconf》; 《Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像》; 《Docker搭建disconf环境,...

程序员欣宸
14分钟前
2
0
centos7配置nfs共享存储服务

nfs 是一种网络文件系统,需要依赖rpc进行过程调度 注意nfs只验证id,验证用户名,并且只能在类unix os上进行文件共享服务,由于它的脆弱的验证机制,所以不适宜在internet上工作,在内网使用...

老孟的Linux私房菜
17分钟前
2
0
【F5小常识】F5的 Web 应用防火墙 (WAF)有什么优势?

     现如今传统防火墙已无法满足企业安全需求,网络攻击大多发生在应用层和网络层故障,且呈上升趋势,传统的防火墙存在着很大的不足之处,包括无法检测加密的Web流量、无法扩展深度检测...

梅丽莎好
29分钟前
1
0
整合到 Mockito 2

为了能够持续改进 Mockito 和在未来提升测试体验,我们希望你能够升级到 Mockito 2.10!Mockito 按照语义化版本(semantic versioning)的方式对版本进行编排,并且只在主版本升级的时候包含...

honeymoose
29分钟前
1
0
spring boot actuator

actuator 是监控系统健康的工具,引入 spring-boot-starter-actuator会暴露一些endpoint. 可通过如下配置来配置这些endpoint的基本配置: 可通过http:${url}:28081/management/actuator/*来访...

ZH-JSON
35分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部