刚看了jamesby的JSP实现,实在是没耐心看完。因为刚学jsp的时候确实用过,自己想了个简单实现,在此拿出来看看,纯属抛砖引玉,希望大家有好的建议拿去来大家共享讨论。
由webwork+javascript实现
设计思路大致是 由webwork将所有一级菜单和二级菜单的列表提交到jsp页面,将一级菜单列表直接显示到下拉列表框中,而二级列表则封装到一javascript数组中,根据一级列表筐change事件取出数组中相应的数据显示到二级列表筐中,代码如下:
[code]
<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>
[/code]
由webwork+javascript实现
设计思路大致是 由webwork将所有一级菜单和二级菜单的列表提交到jsp页面,将一级菜单列表直接显示到下拉列表框中,而二级列表则封装到一javascript数组中,根据一级列表筐change事件取出数组中相应的数据显示到二级列表筐中,代码如下:
[code]
<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>
[/code]