如题,例如,有两个多选框,第一个多选框选择一个公司名,下面的多选框的部门就随着公司名称的不同而变化。但是这个变化是局部的,而不是整个页面的刷新。还是菜鸟一只,请各位高手多多指教!最好有代码和注释。多谢多谢!

解决方案 »

  1.   

    用ajax来做吧。
       第一框框加上一个onchange事件在onchange的函数里面,写一个ajax请求,请求后台数据,后台将数据转成json传到前台。在onchage 的回调函数里面接收到值。  用JS拼装放到第二个框
    看看这个例子吧:http://www.blogjava.net/supercrsky/articles/203698.html
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
    <HTML> 
    <HEAD> 
    <TITLE> New Document </TITLE><script language="JavaScript" type="text/javascript">//定义了城市的二维数组,里面的顺序跟省份的顺序是相同的。通过selectedIndex获得省份的下标值来得到相应的城市数组 
    var city=[ 
     ["北京","天津","上海","重庆"], 
     ["南京","苏州","南通","常州"], 
     ["福州","福安","龙岩","南平"], 
     ["广州","潮阳","潮州","澄海"], 
     ["兰州","白银"]
    ];function getCity(){ 
     var sltProvince=document.form1.province; //获得省份下拉框的对象
     var sltCity=document.form1.city;   //获得城市下拉框的对象
     var provinceCity=city[sltProvince.selectedIndex - 1]; //得到对应省份的城市数组 
     sltCity.length=1;  //清空城市下拉框,仅留提示选项 
     if(provinceCity!=null){ //将城市数组中的值填充到城市下拉框中 
      for(var i=0;i<provinceCity.length;i++){ 
       sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]); 
      } 
     }
    }</script></HEAD> 
    <BODY> 
    <FORM METHOD=POST ACTION="" name="form1"> 

    <select name="province" onchange="getCity()"> 
     <option value="0">--请选择--</option> 
     <option value="直辖市">直辖市 </option> 
     <option value="江苏省">江苏省 </option> 
     <option value="福建省">福建省 </option> 
     <option value="广东省">广东省 </option> 
     <option value="甘肃省">甘肃省 </option> 
    </select> 
    城市
    <select name="city"> 
     <option value="0">--请选择--</option> 
    </select></FORM> 
    </BODY> 
    </HTML>
      

  3.   

    直接在进入上面页面的action中,生成数组的串,然后页面上通过jstl获得即可
      

  4.   


    $(document).ready(function(){
    $("#province").change(function(){
    var provinceId=$(this).val();
    $.ajax({
    url:"cascadeAction!showCities.action",
    data:{"provinceId":provinceId},
    dataType:"json",
    type:"post",
    success:function(result){
    $("#city").empty();
    for(var i=0;i<result.json.length;i++){
    var str="<option>"+result.json[i].name+"</option>";
    $("#city").append(str);
    }
    }
    });
    });
    });
      

  5.   

    既然你使用了AJAX那么就是无刷新页面的,你的列表里面的数据是来自数据库的吧!
    当select列表变化就触发一个onchange="aa()"事件,那么function aa(){ajax发方法获取到列表2的值}