AJAX實現下拉框聯動

來源:互聯網
上載者:User

想當年,為了實現三級聯動,找個js高手些了N多代碼才搞定,但是很慢,因為一次要將所有的選項取來,然後排序,尋找動態顯示。

現在使用AJAX真是太方便了,下面做了個簡單例子,實現下拉框的省市聯動,效果圖如下:

實現代碼:

a.html

<html>
<body>
<script language="JavaScript">
         var req = null;
         function test() {
                 var province = document.all("province").value;
                 req = new ActiveXObject("Microsoft.XMLHTTP");
                 //設定屬性,當幕後處理完成後,回來調用myDeal方法。
                 req.onreadystatechange = myDeal;
                 //發出請求
                 req.open("GET", "c.jsp?province=" + province, "false");
                 req.send(null);
         }
         function myDeal() {
                 if (req.readyState == 4) {
                         //接收服務端返回的資料
                         var ret = req.responseText;
                         //處理資料
                         var obj = document.all("city");
                         for (var i = obj.options.length - 1; i >= 0; i--) {
                                 obj.options.remove(i); //從後往前刪除
                         }
                         var ops = ret.split("|");
                         for (var i = 0; i < ops.length; i++) {
                                 var op = ops[i];
                                 var ss = op.split(",");
                                 var oOption = document.createElement("OPTION"); //建立一個OPTION節點
                                 obj.options.add(oOption);    //將節點加入city選項中
                                 oOption.innerText = ss[1];    //設定選擇展示的資訊
                                 oOption.value = ss[0];         //設定選項的值
                         }
                 }
         }
</script>
省份:<select id="province" name="province" onchange="test();">
         <option value="hn">河南</option>
         <option value="sx">陝西</option>
</select><br>
城市:<select id="city" name="city">
         <option value="zz">鄭州</option>
         <option value="ly">洛陽</option>
</select><br>
</body>
</html>

c.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
         String id = request.getParameter("province");
         System.out.println("id="+id);
         if(id !=null&& id.equals("hn")){
                 out.println("zz,鄭州市|ly,洛陽市");
         }else if(id != null && id.equals("sx")){
                 out.println("xa,西安市|xy,鹹陽市");
         }
%>

這個功能挺實用的,選項資料可以從資料庫中擷取,為了把例子做簡單點,就用jsp提供資料。

出處:http://lavasoft.blog.51cto.com/62575/204884

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.