用个查询天气的例子来说明一下,
有两个列表框
第一个列表框为省名如:上海市,北京市,江苏省……
第二个列表框为该省下面的市
当我选择江苏省时,第二个列表框立即显示南京市,苏州市,镇江市……这个在jsp页面中如何实现

解决方案 »

  1.   

    可以 用map来作在map中 第一个下拉列表 中的元素为key
    第二个下拉列表中的元素为value    且这个value是一个set个人觉得  用EL表达式  把map体现在jsp中就可以了!
      

  2.   

    用ajax做就能实现你想要的功能
      

  3.   

    楼主问的是2级级联菜单的问题
    方法1:使用js把菜单内容写在页面里
    思路:
    在页面定义好各省的城市
    var menu1 = new Array(); 
    menu1[0] = ["西城", "东城", "崇文" ,"宣武"] 
    menu1[1] = ["南京市", "苏州市","镇江市"] html:
    <select name="province" onchange="getCitys(this.selectedIndex)">
      <option value ="0">北京</option>
      <option value ="1">江苏</option>
    </select> 
    <select name="city"></select> 通过getCitys方法,先把下拉框city里的option去掉,然后把省对应的citys都逐个加入到下拉框city里
    document.myForm.city.options[i]=new Option(str1, str2);方法2:更灵活些
    不在页面定义js城市数组
    通过ajax从数据库取得citys
    var xmlHttp;
     try
        {
       // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
        }
     catch (e)
        {  // Internet Explorer
       try
          {
          xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
       catch (e)
          {      try
             {
             xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
             }
          catch (e)
             {
             alert("您的浏览器不支持AJAX!");
             return false;
             }
          }
        }

        xmlHttp.onreadystatechange=function()
          {
          if(xmlHttp.readyState==4)
            {
             //此处代码需楼主自己完善下
             var citys = xmlHttp.responseText;
             document.myForm.city.options[i]=new Option(str1, str2);
             ……
            }
          }
        xmlHttp.open("GET","getCitys.jsp",true);
        xmlHttp.send(province.xml);
     }
    3:不建议使用
    以前做过证券类的,对js有要求
    当时用的还是struts1,写了struts标签取级联菜单,意思跟ajax是一样的,稍显麻烦
      

  4.   

    1楼那方法就行了,就是判断下
    比如选1的时候得到list1{1,2,3}
    选2时候得到list2{4,5,6}

    就这么简单
      

  5.   

    还有一种方法和AJAX类似
    你选择了第一个下拉列表之后,用Javascript控制查询数据库,动态的生成Html代码发送到页面。这样也可以实现不过四楼的方法已经很好了。这个仅供参考。
      

  6.   

    用AJAX做个2级联动 如果你会用JQUERY的话相对容易些 通过选择第一个下拉触发JS事件 在事件中获得第一个下拉的VALUE并通过这个VALUE获得第二个下拉的集合
      

  7.   

    AJAX做个2级联动,网上有现成的代码,可以找看看
      

  8.   


    dwr 实现联动菜单比较方便。
      

  9.   

    级联菜单,用ajax很方便的.不过也可以用JS写死在页面上啊.
      

  10.   

    级联菜单的问题,搜一下很多,不过补充一下不是非要ajax,如果数据已经在页面上了,直接使用JavaScript操作dom就行了,ajax之不过是异步获取了数据,到页面还是要用JavaScript操作都没对象
      

  11.   

    我用javascript实现过,网上有现成的代码。