用struts写个东西,需要用到二级级连菜单.
因为级连的内容不是静态的,所以把菜单内容放到bean里传给页面.
(其实主要也就是javascript的问题,如果哪位能提供一种更好的级连菜单实现
方法
,还请不吝赐教!!)
例子:
我给页面传递了两个String数组,分别是:
provinces={"北京","上海"}
cities={"海淀,昌平,东城","黄浦,XX,YY"}
看到
网上
别人写的觉得很麻烦还不好懂,于是自己写了一种方法
form:
<
html
:form action="/register.do">
province : <html:select property="province" οnchange="javascript:selectCities()">
<html:options name="Provinces"/></html:select><html:errors property="province"/><br/>
city : <html:select property="city"></html:select><html:errors property="city"/><br/>
</html:form>
下面是js:想法是先把城市名放到一个全局数组,然后通过选取的省的编号,写出城市的选项.
<script language="javascript">
cityArray=new Array();
<%for(int k=0;k<cities.length;k++){%>
cityArray[<%=k+""%>]=<%=cities[k]%>;
<%}%>
function selectCities(){
provinceIndex=document.all.province.selectedIndex;
cityStr=cityArray[provinceIndex];
alert(cityStr);--"undefined"
citiesOfProvince=cityStr.split(",");
for(r=0;r<citiesOfProvince.length;r++){
document.all.city.options[r]=new Option(citiesOfProvince[r],citiesOfProvince[r]);
}
}
</script>
但是出现一个问题,得到的cityStr不正确,由于自己对js不熟悉所以只是看了一些别人的
代码
写了这些.所以求助各位.
问题点数:100、回复次数:2Top
1 楼lhj(努力加油)回复于 2005-02-20 00:22:14 得分 100
cityArray[<%=k+""%>]=<%=cities[k]%>;
改为,加上引号
cityArray[<%=k+""%>]="<%=cities[k]%>";
Top
2 楼nirvanax(良马)回复于 2005-02-20 00:46:58 得分 0
.....
感谢~~~送分!!!