二级联动菜单简单实现
刚看了jamesby的JSP实现,实在是没耐心看完。因为刚学jsp的时候确实用过,自己想了个简单实现,在此拿出来看看,纯属抛砖引玉,希望大家有好的建议拿去来大家共享讨论。
由webwork+javascript实现
设计思路大致是 由webwork将所有一级菜单和二级菜单的列表提交到jsp页面,将一级菜单列表直接显示到下拉列表框中,而二级列表则封装到一javascript数组中,根据一级列表筐change事件取出数组中相应的数据显示到二级列表筐中,代码如下:
<script LANGUAGE="javascript"> //级联下拉框部分 <!-- var count; count=0; subcat = new Array(); <ww:iterator value="details">//details为二级下拉列表全部内容 subcat[count++] = new Array("<ww:property value='name'/>", "<ww:property value='code'/>", "<ww:property value='kind'/>"); </ww:iterator> //一级列表change事件调用方法 function changelocation(kind) { for (i=0;i < count; i++) { if (subcat[i][2] == kind) { document.all.select2.options[document.all.select2.length] = new Option(subcat[i][0], subcat[i][2]); } } } //--> </script> 1 楼 jamesby 2007-02-02 我的需求比较复杂,今天是公司/部门联动,明天是岗位/职责联动,后天一级栏目/二级栏目联动等很多,故需要设计一个通用的东西,我的那个东西简单拷贝到一个JSP里面就可以看到效果,光看代码谁都晕。 2 楼 freemanxm84 2007-02-02 jamesby 写道我的需求比较复杂,今天是公司/部门联动,明天是岗位/职责联动,后天一级栏目/二级栏目联动等很多,故需要设计一个通用的东西,我的那个东西简单拷贝到一个JSP里面就可以看到效果,光看代码谁都晕。上面这个东西也很通用的,你看Array对象里面的name就是要显示的信息,code就是需要传回后台的值,而kind就是代表它属于的上级。完全可以适应不同的需求。 3 楼 jamesby 2007-02-02 但是你的"name","code","kind"三个属性的名字是hardcode的啊。除非我每一个jsp添加一下你上面的代码,那就不具备通用性了。 4 楼 kj23 2007-02-02 http://www.iteye.com/topic/51818