动态二级下拉菜单的实现

动态二级下拉菜单的实现
动态二级下拉菜单的实现

动态二级联动下拉菜单的实现

在业务实现上,页面二级联动下拉菜单是经常遇到的需求。三级联动下拉菜单典型的实例是年月日的实现,但是这一功能目前已转向通过DatePicker插件来实现。即使业务中有三级联动下拉菜单,实现原理也和二级下拉菜单的实现方式相同。

一、需求分析

首先,动态二级联动下拉菜单的通常在页面加载前实现。基于这个原因,实现方式上通常在页面加载时,配置二级联动的规则。

其次,动态二级联动下拉菜单的选项,通常来自于后台数据库。如果仅仅是二级联动下拉菜单,那么仅仅通过javascript就可以完成。因为需要向后台请求数据,所以通过Ajax请求比较方便。

最后,在传输数据格式上,可以采用XML格式,但是如果采用JSON,则由于数据量小,数据便于解析等优点,更加方便。

二代码实现

有了以上的分析,可以着手编码实现了。

(一)在下拉框加入id属性,并删除option选项:

文件中。

(3)被Json拦截器拦截的对象是categorys,事实上是希望返回一个Map>格式,适合于二级下拉菜单。也可以将这些信息放入一个自建类。

(四)编写Action类

Map类,这里将每个String都加了双引号,原因是作为Json串,需要每个字符串类型是有双引号的(注意:单引号也不行)。而如果这里不加双引号,就需要在前端用javascript来组合。

(五)页面加载时的Javascript,采用Jquery。先是装配JSon串:

说明:这里做了两件任务,一是第一级下拉菜单内容的加载。一是将传回数据转为JSON串存入指定的div。Json串格式:{“类型1”:[“频道1”,”频道2”],”类型2”:[“频道1”,”频道2”]}。编码时要注意逗号、冒号只能是英文字符下的逗号、冒号。否则会引起不必要的调试消耗。

加载第二级下拉菜单数据。

三、可能的优化

以上代码实现通过Struts2的json拦截器,此拦截器的作用是将Server端的数据转换为JSON对象呈现在前端。事实上,也可以在Server端直接组装JSON字符串,直接存储在div 中。再通过JSON.parse()方法来读取转化为JS对象,分别分载一二级下拉菜单数据。实现时需要注意的是Struts.xml中的配置不需要拦截器,方法返回值是null。具体实现这里先略过了。

四、其它问题

(1)状态回显

当下拉菜单的选项作为搜索条件时,当Server端有返回搜索结果时,应该将搜索条件返回。为了达到这个目的,在页面增加了两个隐藏域

将返回的结果写在隐藏域中,比较清晰,也是Javascript代码与HTML代码分离的需要。(如果JS代码与HTML页面在一起,也可以直接在JS中引用。)

有了返回值,接下来就要在下拉框中显示,第一个下拉菜单要写在页面装载后的Ajax

(2)如何实现下拉菜单的placeholder?

大家知道,对于input可以使用placeholder提示输入字段的预期值。有时,下拉选择框有这种需求。比如多级下拉选择框。但是默认情况下,选择框是没有这个属性的。

要实现这个目标,首先加入以下css的class。其中颜色#A5A5A5就是placeholder的颜色:

暗色,而其它情况正常显示。

excel应用场景:多级联动下拉列表实现选择一级部门下的二级部门

excel应用场景:多级联动下拉列表实现选择一级部门下的二 级部门 很多小伙伴们都知道,利用数据有效性功能做一个下拉列表,可以让用户从列表中选择选项,避免手工输入造成的错误。但是你们知道如何做一个多级联动下拉列表吗?先让我介绍一下,什么叫多级联动下拉列表。例如,公司里面的部门,分为一级部门,二级部门等。要求用户在选择了一个一级部门后,在二级部门中,只能选择一级部门对应的那些二级部门。最终效果我们就以上面这个例子开始,向小伙伴们,演示一下如何做这样一个多级联动下拉列表。动画演示解析:首先,分别定义了[市场部]和[信息研发部]名称,来管理各自对应的二级部门。然后,在数据有效性中,指定一级部门的数据序列来源于{B1:C1}最后,在数据有效性中,指定二级部门的数据序列来源于Indirect(D8),快速适用公式到其他二级部门单元格中。这里只有一点要说明一下,那就是Indirect(D8)的作用。Indirect(D8)的执行细节,如下图:Indirect函数解析附:Indirect(ref)函数的定义:返回文本字符串ref所指定的引用扩展:如果是三级联动,例如下图中的例子,怎么做呢?最终效果请看动画演示效果:动画效果三级部门联动原理和二级部门联动的例子是一样的。最后总结一下,这一期的主要内容是联动下拉列表的实现,包括二级

联动以及三级联动。用到的主要功能点是:在名称管理器中创建名称来管理对应的单元格区域,以及通过Indirect函数去查找地址对应的实际引用(相当于二次查找)。欢迎大家观看,转发,并留下宝贵意见,谢谢。本文是[谈谈生活谈谈职场]的原创,如要转载,请联系作者。关键词:Excel 联动下拉列表,Excel 联动下拉框,Indirect。

Authorware下拉菜单与多级菜单的制作

Authorware下拉菜单与多级菜单的制作Authorware制作下拉菜单需要用到交互图标所提供的下拉菜单 首先是擦除原有菜单的“文件”二字 在用Authorware的菜单交互制作菜单时,Authorware总会在菜单栏上加一个“文件”菜单。这个“文件”菜单与我们的作品总是那么不协调。所以咱们先想办法去掉这个“文件”菜单。具体步骤如下: 1、在主流程线上拖一个交互图标,命名为“文件”。在其右侧放一个组图标(内容为空),在弹出的对话框中,选择“下拉菜单”。双击组图标上方的小方块,弹出属性对话框,选择“永久”及“退出交互”,其他选项就用默认的设置。 2、在交互图标的下方,放一个擦除图标,然后运行一下演示窗口,用鼠标单击演示窗口标题栏上的“文件”二字。仔细看,那个“文件”菜单会随之消失。运行一下看看是不是消除了。 下拉菜单制作 首先在流程线上拖入一交互图标,命名为“文件”,在其右侧放一个组图标,在弹出的对话框中,选择“下拉菜单”。将这个组图标命名为“新建”,范围选择“永久”。然后在其右侧继续放入五个这样的组图标,分别命名为:“打开”、“- ”(这个减号表示分界线)、“保存”、“另存为”、“- ”。最后再放上一个计算图标,命名为“退出”,打开它,输入" quit(0) " ,这样一个下拉菜单就做好了,运行下便能看到效果。

多级菜单制作 1、在流程线上放一个交互图标,命名为“图片欣赏”,在其右侧放一个组图标,选择交互类型“下拉菜单”。将这个组图标命名为“植物图片”。双击组图标上方的那个矩形色块,在弹出的属性对话框中,点击“响应”选项卡,选中其中的“永久”复选项,并将“分支”的值选为“返回”。您可以继续添加几个这样的组图标,分别命名为“动物图片”、“风景图片”等等,当然随便您啦。 2、按同样的方法,在主流程线上再放一个交互图标,其右侧也放几个组图标,分别命名为“梅花”、“兰花”、“菊花”等。各项设置同上面的步骤一样。惟一的不同,就是要把交互图标的命名删除,也就是说要让这个交互图标的名字为空。

js联动菜单下拉菜单日历方法

下拉式日历

以上是页面代码部分

PHP+MySQL实现二级联动下拉列表

PHP+MySQL实现二级联动下拉列表 1.Javascript在下拉列表的各个对象 2.案例代码 Liandong.php PHP二级联动测试

相关文档
最新文档