<select name="aaa" onChange="window.open('bbb.jsp?province=this.value, 'actionFrame')">其中actionFrame为<iframe name="actionFrame" width="0" height="0"></iframe>在bbb.jsp里输出javascript操作aaa

解决方案 »

  1.   

    象这样的东西应该生成xml的
    在jsp的头上
    然后整个处理过程都是通过js实现
      

  2.   

    先在jsp中生成xml
    <xml id="City">
    <?xml version="1.0" encoding="gb2312"?>
    <root>
    <cityinfo shengfen='1' chengshiID='1' chengshiName="南京">
    <cityinfo shengfen='1' chengshiID='2' chengshiName="无锡">
    </root>
    </xml>
    js为
    <script language="javascript">
    function createOptions(text,value,selected)
    {
    var obj=document.createElement("OPTION");
    obj.text=text;
    obj.value=value;
    obj.selected=selected;
    return obj;
    }
    function changeshengfen()
    {
    var root = City.documentElement;
    var cityNode= root.selectNodes("//cityinfo");
    for(var i=0;i<cityNode.length;i++)
    {
    if(cityNode.item(i).getAttribute("shengfen")==document.all("_shengfen").value)
    document.all("_shengfen").add(createOptions(cityNode.item(i).getAttribute("chengshiName"),cityNode.item(i).getAttribute("chengshenID"),false));
    }
    }
      

  3.   

    其实用javabean也可以
        对“下拉框1”进行判断返回至javabean 可以读去数据库或数组
        然后返回相应的数据
        产生相应的 “下拉框2 “
      

  4.   

    用JAVASCRIPT的Onchange属性
    当下拉框1的选项改变后,下拉框2随着变
      

  5.   

    onchange的时候将页面submit一下
      

  6.   

    javascript的onChange属性,下拉框2的值由1的改变而确定
      

  7.   

    你是想做级联菜单吧!可以参考下面的例子
    我在http://expert.csdn.net/Expert/topic/2501/2501843.xml?temp=.7281中贴过
    原文如下:<%@ page contentType="text/html;charset=GBK"%>
    <%@page import="java.sql.ResultSet"%>
    <%@page import="java.text.*"%>
    <%@page import="java.util.Date"%>
    <%@page import="DataBase.*"%>
    <jsp:useBean id="p" scope="page" class="page.page"/>
    <%  
       ResultSet rs=null;
    String depid="";
    opendb op=null;
    String  departmentid="";
      int count=0;
     String name1="";
    try{
    op=new opendb();
    %><SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    var arrItems1 = new Array();
    var arrItemsGrp1 = new Array();
    <%
    rs=op.getdb("select name,operator_id,usercount,department_id from tb_operator");
    while(rs.next()){
       count++;
       name1=rs.getString("usercount");
    %>
    arrItems1[<%=count%>] = <%="\""+name1+"\""%>;
    arrItemsGrp1[<%=count%>] = <%=rs.getInt("department_id")%>;
    <%}rs.close(); 
    %>function selectChange(control, controlToPopulate, ItemArray, GroupArray)
    {
    var myEle ;
    var x ;
    // Empty the second drop down box of any choices
    for (var q=controlToPopulate.options.length;q>=0;q--) controlToPopulate.options[q]=null;myEle = document.createElement("option") ;
    myEle.value = 0 ;
    myEle.text = "[SELECT]" ;
    controlToPopulate.add(myEle) ;
    for ( x = 0 ; x < ItemArray.length  ; x++ )
    {
    if ( GroupArray[x] == control.value )
    {
    myEle = document.createElement("option") ;
    myEle.value = x ;
    myEle.text = ItemArray[x] ;
    controlToPopulate.add(myEle) ;
    }
    }
    }
    //  End -->
    </script><form name=myChoices>
    <table align="center">
    <tr>
    <td>
    <SELECT id=firstChoice name=firstChoice onchange="selectChange(this, myChoices.secondChoice, arrItems1, arrItemsGrp1);">
    <option value=0 SELECTED>[SELECT]</option>
    <%rs=op.getdb("select department_id,department_name from tb_department ");
    while(rs.next())
    {%>
    <option value=<%=rs.getInt("department_id")%>><%=rs.getString("department_name")%></option>
          <%}rs.close();%>
    </SELECT>
    </TD><TD>
    <SELECT id=secondChoice name=secondChoice >
    </SELECT>
    </TD>
    </TR>
    </TABLE>
    </form>
    <% 
     } finally{
        op.conclose();
    }%>
      

  8.   

    完整代码:
    <script language="JavaScript">
    //读取城市名数据
    var z=new Array();
    <%
    ResultSet rsdockscri=null;
    rsdockscri=dbop.exeSelect("select * from 城市表");
    int idockscri=0;
    while(rsdockscri.next()){
    %>
    z[<%=idockscri%>]="<%=rsdockscri.getString("code")%>::<%=rsdockscri.getString("Descript")%>::<%=rsdockscri.getString("sscode")%>";    //其中code 为和省份关联的字段  sscode为城市代码
    <%
     idockscri++;
    }
    if(rsdockscri!=null) rsdockscri.close();
    %>var area_1="";
    function tdock_Change()
    {
      var tempArrayti;
      if(frm.tsfname.options(frm.tsfname.selectedIndex).value!=""){
        area_1 = frm.tsfname.options(frm.tsfname.selectedIndex).value;
    DoArea_2_Content();
      }else{
    removeSelectItem(frm.tssname);
      }
    }
    function DoArea_2_Content()
    {
    var s,e,i,t,tempArrayti;
    s=frm.tssname;
    removeSelectItem(s);
        frm.tssname.options(0).selected=true;
    for(i=0;i<z.length;i++)
    {
    tempArrayti=z[i].split("::");
    if(tempArrayti[0]==area_1)
    {
    e=document.createElement("OPTION");
    e.text=tempArrayti[1];
    e.value=tempArrayti[2];
    s.add(e);
    }
    }
    }
    function removeSelectItem(s)
    {
    var i;
    for(i=s.length-1;i>0;i--)
    {
    s.remove(i);
    }
    }
    </script><body>
                        <select name="tsfname" tabindex="25" onChange="tdock_Change();">
                          <option>--请选择省份--</option>
                          <%
         ResultSet rsdock=dbop.exeSelect("select * from 省份的表");
      while(rsdock.next()){
      %>
                          <option  value="<%=rsdock.getString("code")%>"><%=rsdock.getString("Descript")%></option>
                          <%
      }
      rsdock.close();
      %>
                        </select>
                        <select name="tssname" tabindex="26">
                          <option>--请选择城市--</option>
                        </select>
    </body>