我要在页面内的下拉列表中选择一项然后同一个页面的两一个下拉列表中出现跟第一个下拉列表中的内容相关的选项怎么实现?
主要想解决的问题是不用提交按钮怎么得到第一个下拉列表的内容!!

解决方案 »

  1.   

    用ajax实现,如果数据不在数据库的话,也可以用javascript实现用onchange事件
      

  2.   

    ajax,js google一下级联下拉框   很多
      

  3.   

    数据在数据库中,本人不会ajax!!怎么办!
      

  4.   


    <html>
    <head><title>test</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    var city=[
               ["北京","上海","天津","重庆"]
               ["武汉","黄石","孝感","恩施"]
             ];function getCity()
    {
      var sltProvince = document.forms["cityForm"].elements["province"];
      var sltCity = document.forms["cityForm"].elements["city"];
      var provinceCity = city[sltProvince.selectedIndex-1];
      sltCity.length=1;
      for(var i=0;i<provinceCity.length;i++)
      {
        sltCity[i+1] = new Option(provinceCity[i],provinceCity[i]);
      }
    }
    -->
    </script>
    </head>
    <body>
    <form action=test.jsp" name="cityForm">
    <select name="province" onchange="getCity()">
      <option value="0">请选择省份</option>
      <option value="直辖市">直辖市</option>
      <option value="湖北省">湖北省</option>
    </select>
    <select name="city">
      <option value="0">请选择所在城市</option>
    </select>
    </form>
    </body>
    </html>
      

  5.   


    <td width="169">
    名称:<select id="goods_name" name="goods_name" style="background-color:#66FF00;" onclick="refreshListType();">
         <c:forEach var="name" items="${list_name}">
             <option value="${name}">${name}</option>
    </c:forEach>
         </select>
         </td>
    <td width="169">
         车型:<select id="car_type" name="car_type" style="background-color:#66FF00;" onclick="refreshListSize();"></select>
           </td>
    var xmlHttp;function createXMLHttpRequest() {
        if (window.ActiveXObject) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } 
        else if (window.XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest();
        }
    }
        
    function refreshListType() {
        var p = document.getElementById("goods_name").value;
        var url = "form1Servlet?goods_name=" + p; 
            
        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleStateChangeType;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
        
    function handleStateChangeType() {
        if(xmlHttp.readyState == 4) {
            if(xmlHttp.status == 200) {
                updateModelsListType();
            }
        }
    }function updateModelsListType() { clearModelsListType();
    var types = xmlHttp.responseXML.getElementsByTagName("car_type");
    var id = "";
    var name = "";
    var c = document.getElementById("car_type"); for(var i = 0; i < types.length; i++) {
    id = types[i].childNodes[0].firstChild.nodeValue;
    name = types[i].childNodes[1].firstChild.nodeValue;
    option = document.createElement("option");
    option.appendChild(document.createTextNode(name));
    option.setAttribute("value", id);
    c.appendChild(option);
    }
    }function clearModelsListType() {
        var car_type = document.getElementById("car_type");
        while(car_type.childNodes.length > 0) {
            car_type.removeChild(car_type.childNodes[0]);
        }
    }String goods_name = new String(request.getParameter("goods_name").getBytes("ISO-8859-1"), "gb2312");
            
            StringBuffer results = new StringBuffer("<types>");
            Db db = new Db();
    GoodsDao goodsDao = new GoodsDao(db.getConn());
    List<String> list_type = goodsDao.getTypeDis(goods_name);
            response.setContentType("text/html;charset=UTF-8");

    db.close();

    for(String type : list_type) {
    results.append("<car_type><id>" + type + "</id><name>" + type + "</name></car_type>");
    }
            results.append("</types>");
            
            response.setContentType("text/xml");
            response.getWriter().write(results.toString());
      

  6.   

    这是我刚学ajax的时候按照老师教的流程做的
    希望你能看懂
      

  7.   

    看不懂啊,难道不能用JSP实现吗?
      

  8.   

    直接给你值和从数据库区只有什么区别?你自己那javascript或者java在页面中封装一下不就一样了吗
      

  9.   

    静下心去看看AJAX
    基本使用 30分钟绝对够了
      

  10.   

    简单呵呵,用javaScript
    <script language ="JavaScript" type="">function sub()
    {
      document.myform.submit("beginConfig.jsp");
      return false;
    }
    </script>
    <form action="beginConfig.jsp" method="POST" name="myform" onsubmit=  重点: "return check() " >
    <table align="center">
      <tr>
        <td>请选择所在的省</td>
        <td>
          <select name="province" onchange="return sub()">      <%
            for (int i = 0; i < ary.size(); i++) {
              TrainProvince tra = (TrainProvince) ary.get(i);
          %>
            <option value="<%=tra.getProviceid()%>" ><%=tra.getProvicename() %>        </option>
          <%}} catch (Exception ex) {}      %>
          </select>    </td>
      </tr>
    </table>
    </form>
    能实现你说的功能!!