日期:2014-05-18  浏览次数:20588 次

100分求助于高手关于获取三级机构的问题 解决问题马上结帖
我现在开发的项目涉及到三级机构,情况如下:

先是系列下拉列表,选择系列下拉列表,对应的显示系列下的二级机构,选择二级机构,显示二级机构下的三级机构。由于三级机构非常多,所以要是每次访问数据库,会非常慢,所以我想把三级机构信息保存在页面上,请问有谁做过这样的,指点一下。

能解决问题马上结帖。

------解决方案--------------------
缓存
------解决方案--------------------
function getCity(){
var provinceValue=document.forms[0].province.value;
switch(provinceValue){
case "1 ":
document.forms[0].city[0]=new Option( "武汉 ", "1 ");
document.forms[0].city[1]=new Option( "宜昌 ", "2 ");
break;
case "2 ":
document.forms[0].city[0]=new Option( "长沙 ", "3 ");
document.forms[0].city[1]=new Option( "常德 ", "4 ");
break;
}
}

function getSchool(){
var cityValue=document.forms[0].city.value;
switch(cityValue){
case "1 ":
document.forms[0].school[0]=new Option( "武汉大学 ", "5 ");
document.forms[0].school[1]=new Option( "华中科技大学 ", "6 ");
break;
case "2 ":
document.forms[0].school[0]=new Option( "三峡大学 ", "7 ");
document.forms[0].school[1]=new Option( "宜昌广播电视大学 ", "8 ");
break;
case "3 ":
document.forms[0].school[0]=new Option( "长沙大学 ", "9 ");
document.forms[0].school[1]=new Option( "长沙国防科技大学 ", "10 ");
break;
case "4 ":
document.forms[0].school[0]=new Option( "常德大学 ", "11 ");
document.forms[0].school[1]=new Option( "常德广播电视大学 ", "12 ");
break;
}
}

需要多少自己可以加,可以把js和html文件分开保存,这样看起来好些
------解决方案--------------------
又是下拉联动
这里有4种下拉联动的实现思路以及其中两种的代码,可以参考下
http://blog.csdn.net/lip009/archive/2006/09/11/1208343.aspx
------解决方案--------------------
我写过二级下拉列表的。。。用js就可以了。。struts中action中得到数据库中的各级的值,保存在集合中。。。。。
------解决方案--------------------
写联动还是喜欢XMLHttpRequest来用,呵呵,方便又实惠
------解决方案--------------------
为什么不考虑使用Ajax技术或JSF来实现,可要简单多了,同时服务器的负担也不重.
------解决方案--------------------
Lz所说,是不是读一次数据库,将所有数据读出,然后页面有三级联动的选择框。

可以看看这个例子:
javascript实现二级联动下拉框
http://www.blogjava.net/rickhunter/articles/64607.html

自己扩充以下就可以了。
------解决方案--------------------
我现在的方法是把获取的数据放到js文件中,这样就不用再去读数据库了。

这样是可以的,我以前用ASP做过一个类式的。
------解决方案--------------------
长期使用来讲,觉得用js来做好过用AJAX的方式,从用户体验上来讲更是。

速度的问题,AJAX方式有太大延迟。