现有SQL数据库表两张 A表,B表,成主外键关系,希望实现表A中的某列数据动态的显示在下拉列表中,当选择某一数据,想对应的另一个下拉列表中显示对应的B表中的数据(级联下拉菜单)现在已经实现用LIST完成A表中的数据显示在下拉列表中,但是当选择某一项时,其Value值需要做为B表的ID查询条件,但是不知道如何将网页中的在另一代码段中使用。
这是第一个下拉列表
<select name="teamID" id="selectClass" onchange="change()">
      <%
          ClassImpl cli = new ClassImpl();
          List ls = cli.queryAll();
          Iterator it = ls.iterator();
          while(it.hasNext())
          {
               ClassInfo cls = (ClassInfo)it.next() ;
               String name = cls.getClassName();
               id = cls.getClassID();
               %>
                     <option value="<%=id%>"><%=name%></option>《--value值需要做为B表中的查询条件-->
              <%
          }
      %>
      </select>这是表B
<select name="articleType" id="selectType">
<%
     SpaceFromImpl sfi = new SpaceFromImpl();
     List lst = sfi.queryById(id);//这个ID是第一个下拉表中的value
     Iterator itr = lst.iterator();
     while(itr.hasNext())
    {
SpaceFrom sf = (SpaceFrom)itr.next();
String sname = sf.getSpaceName();
int sid = sf.getSpaceID();
%>
   <option value="<%=sid%>"><%=sname%></option>
<%
     }
%>
     </select>      </td>
或者有好的方法,希望得到指点。新手初练,请多多关照!!!在线等待各位高人的指点

解决方案 »

  1.   

    用ajax可以完美的做到,DWR是首选
      

  2.   

    重写onchange里的方法
    将第二级的里的数据放到script里的数组里
    再写innerHtml就可以了
      

  3.   

    我想问一下change()方法怎么写
      

  4.   

    用jQuery的.ajax(...) 方法实现,点击一个下拉框,选中某一个值时触发.ajax(...),在方法中接受参数,去后台执行某个方法,并将方法结果返回到js中,在js中解析数据,并把数据拼接到第二个下拉框中。