高手莫入--AJAX實現下拉框聯動

高手莫入--AJAX實現下拉框聯動
 
想當年,爲了實現三級聯動,找個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提供數據。
相關文章
相關標籤/搜索