有两个下拉列表框,选择第一个列表框时触发一个事件,使得第二个列表框加载相应的数据进去,这些数据都是从数据库中得到。程序应该怎样写呢?

解决方案 »

  1.   

    第一个select。
    <select …… onchange="callsecondselect()"<script la="javascript">
    function callsecondselect() {
      form.action = "secondselectinit.do";
      form.submit;
    }
    </script>
    第一个select选中的值在formbean中可以取到。
    这些都是伪代码,需要你自己修改。
      

  2.   

    推荐ajax
    用上了就会喜欢上
      

  3.   

    可能没有比DWR这个AJAX框架来实现这样的功能更简单的了技术了
      

  4.   

    可以实现啊,用jsjzzh(蚯蚓) ( ) 信誉:98    Blog 的方法就可以
      

  5.   

    我的代码可以直接运行。
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head>
    <script>
    function an(){
      l = f.s2.length ;
      for (var i=0;i<l;i++){
        f.s2.remove(0);
      }
      
      
      if(f.s1.value=="1"){
            newOpt=document.createElement("OPTION");
            newOpt.value="1";
            newOpt.text="1";
            f.s2.add(newOpt);
            newOpt=document.createElement("OPTION");
            newOpt.value="11";
            newOpt.text="11";
            f.s2.add(newOpt);
            newOpt=document.createElement("OPTION");
            newOpt.value="111";
            newOpt.text="111";
            f.s2.add(newOpt);
      }
      if(f.s1.value=="2"){
            newOpt=document.createElement("OPTION");
            newOpt.value="2";
            newOpt.text="2";
            f.s2.add(newOpt);
            newOpt=document.createElement("OPTION");
            newOpt.value="22";
            newOpt.text="22";
            f.s2.add(newOpt);
            newOpt=document.createElement("OPTION");
            newOpt.value="222";
            newOpt.text="222";
            f.s2.add(newOpt);
      }
      if(f.s1.value=="3"){
            newOpt=document.createElement("OPTION");
            newOpt.value="3";
            newOpt.text="3";
            f.s2.add(newOpt);
            newOpt=document.createElement("OPTION");
            newOpt.value="33";
            newOpt.text="33";
            f.s2.add(newOpt);
            newOpt=document.createElement("OPTION");
            newOpt.value="333";
            newOpt.text="333";
            f.s2.add(newOpt);
      }}
    </script>
    <body>
    <form name="f" method="post" action="">
      <select name="s1" onChange = "an()">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
      </select>
      <select name="s2">
      <option value="1">1</option>
      <option value="11">11</option>
      <option value="111">111</option>
      </select>
      <select name="select">
      </select>
    </form>
    </body>
    </html>