`
crabdave
  • 浏览: 1278910 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自己开发的一个生成多级select的自定义标签

    博客分类:
  • Java
阅读更多

自己开发的一个生成多级select的自定义标签


功能描述:
1、通过设置level属性来限制select的级数,默认是按编码来进行显示级数,如果设置level属性,则设置优先。
2、通过设置defaultValue属性来设置select的第一个选项"请选择"的value值。
3、通过设置lastSelectValue属性来设置将要默认选中的选项,你只需要指定最后级select选项默认应该选中的值,它就可以计算出前几级应该显示默认显示哪个选项。
4、你可以将这个自定义标签用于列表中显示,使用时只需设置pageSize来指定每页显示的行数,就可以了。
5、通过设置disabled属性来设置这个多级select是否disabled,当disabled属性等于'disabled'时这个多级选项不可用。
6、通过设置styleClass属性来设置css的class。
7、通过设置style属性来设置style。

 

组成部分:
MultSelectTag.tld //标签描述文件
MultSelectJS.js //控制各级select
MultSelectBean.java //select选项对象
MultSelectTag.java //自定义标签

 

实现描述:
在数据库表中存储各级select选项信息(提供的demo中将这些数据直接写在了jsp上已供参考运行),本系统没有使用父子关系字段进行标识,而是给每一个select选项做了一个编码,前台页面的javascript通过这个编码就能够识别它们之间的主次级关系,再向用户展示。这样一来在用户需求变更时,我们只需要在数据表中对这些选项信息进行修改,如果修改选项级数也只用修改一下选项的编码就可以了。

 

编码说明:
例如:001_001_000_000
第一位001表示:模块编码;
第二位001表示:一级菜单编码;
第三位000表示:二级菜单编码;
第四位000表示:三级菜单的编码;
其中000是用来补缺的,比如:001_001_000_000它有一级菜单编号但没有二级菜单和三级菜单编号,那么他就是一级菜单在这个编码中编码主要有4个部分组成,它表示这个编码用于一个三级select,如果是3个部分组成就表示这个编码用于一个二级select;当然你可以写成5个、6个...


表数据示例:
id    名称       编码             描述

1 '一级菜单1' '001_001_000' 
2 '二级菜单1' '001_001_001' 
3 '二级菜单2' '001_001_002' 
4 '一级菜单1' '001_002_000' 
5 '二级菜单1' '001_002_001' 
6 '二级菜单2' '001_002_002' 
7 '二级菜单3' '001_002_003' 

 

备注:

1、本组件在ecside框架的列表中进行过调试,在翻页的时候不能正确初始化select,原因是在翻页时新成生的html代码是直接赋值给原来老的table部分,不能执行初始化函数,所以需要调一下select的初始化函数。具体做法如下:

在ecside.js中找到Me.fillForm=function(originalRequest)函数,在Me.init();之后调用一下select的初始化函数initFirstOption();就ok了。

2、在数据表中可以再加一列,用于标记该行记录是否可用。

 

附件中是开发的源代码!在此抛块“砖”希望能引来“玉”,请大家多提宝贵意见!

 


      

分享到:
评论

相关推荐

    yl_linkage_帝国CMS无限联动插件_

    仅供参考 多级联动,支持Ajax动态获取数据并缓存数据,动态生成下级select菜单,设置动态生成"option"第一个条目作为提示项,自动选择唯一选项的菜单,设置回调函数在onChange事件触发时获取下拉菜单相关...

    Ext 开发指南 学习资料

    2.2. 让我们搞一个grid出来耍耍吧。 2.3. grid默认自带的功能 2.4. 按顺序,咱们先要把常见功能讲到 2.4.1. 自主决定每列的宽度 2.4.2. 让grid支持按列排序 2.4.3. 中文排序是个大问题 2.5. 让单元格里显示红色的字...

    python入门到高级全栈工程师培训 第3期 附课件代码

    06 django的一个简单应用 07 django静态文件之static 08 django的url控制系统 09 django的urlConf补充 第50章 01 django之视图函数的介绍 02 django视图之redirec 03 django模板之变量 04 django模板之过滤器 05 ...

    asp.net知识库

    .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎...

    python Django轻量级sass管理平台手把手实战演练

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    python搞定sass项目_05_wiki开发

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例273 使用内连接选择一个表与另一个表中行相关的所有行 9.14 外连接查询 实例274 LEFT OUTER JOIN查询 实例275 RIGHT OUTER JOIN查询 实例276 使用外连接进行多表联合查询 9.15 利用IN进行查询 实例277 ...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例273 使用内连接选择一个表与另一个表中行相关的所有行 9.14 外连接查询 实例274 LEFT OUTER JOIN查询 实例275 RIGHT OUTER JOIN查询 实例276 使用外连接进行多表联合查询 9.15 利用IN进行查询 实例277 ...

    轻量级sass平台如何使用Django快速搭建_第三部分

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    Python搞定sass项目_01_开篇

    基于django开发的Bug...8. 集成多个插件 datetimepicker.js / select2 / daterangepicker.js / highcharts / bootstrap-select.js。9. 支付宝支付 和 优惠抵扣。学完本课,你可以掌握用Django开发企业级web应用的技能

    轻量级sass平台如何使用Django快速搭建_第一部分

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    轻量级sass平台如何使用Django快速搭建_第二部分

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    使用python的django框架完成轻量级sass管理平台_下半场

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    使用python的django框架完成轻量级sass管理平台_上半场

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    python搞定sass项目_04_项目管理

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    python搞定sass项目_07_问题管理

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

    python搞定sass项目_06_文件管理

    全套视频是基于django开发的Bug管理平台,为用户提供理想的工作云平台,涵盖了众多企业级功能,便捷的团队协作,轻量的项目管理, 完备的问题系统,大容量的文件存储等,大大提升了工作效率。 项目涵盖技术和知识点...

Global site tag (gtag.js) - Google Analytics