ajax實現城市聯動效果

來源:互聯網
上載者:User

還剩餘部分未寫完,後面的可以自行完成。未進行資料庫連接,有需要的自行串連資料庫的操作。

參考代碼:

showCity.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>      <title>城市聯動效果</title>        <meta http-equiv="content-type" content="text/html;charset=utf-8">    <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->    <script type="text/javascript">        //建立ajax引擎    function getXMLHttpRequest(){        var xmlHttp;        if(window.ActiveXObject){            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");            //window.alert("IE");        }else{            xmlHttp=new XMLHttpRequest();        }        return xmlHttp;    }        //sendRequest    var xmlHttpRequest;    function sendRequest(){        //得到xmlHttpRequest 對象        xmlHttpRequest=getXMLHttpRequest();        var url="/ajax/cityList.php";        var data="province="+$('sheng').value;        //window.alert(data);        xmlHttpRequest.open("post",url,true);        //post方式提交需要加入這句        xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");        //回呼函數        xmlHttpRequest.onreadystatechange=function chuli(){                        if(xmlHttpRequest.readyState==4){                if(xmlHttpRequest.status=="200"){                    //取出結果                    var citys=xmlHttpRequest.responseXML.getElementsByTagName("city");                    $('city').length=0;                    var myoption=document.createElement("option");                    myoption.innerText="--城市--";                    $('city').appendChild(myoption);                    //window.alert(citys.length);                    //遍曆                    for(var i=0;i<citys.length;i++){                        //window.alert(citys[i].childNodes[0].nodeValue);                        var city_name=citys[i].childNodes[0].nodeValue;                        //建立新元素                        var myoption=document.createElement("option");                        myoption.value=city_name;                        myoption.innerText=city_name;                        $("city").appendChild(myoption);                    }                }            }        }        //發送資料        xmlHttpRequest.send(data);    }    function $(id){        return document.getElementById(id);    }    </script>  </head>    <body>    <select id="sheng" onchange="sendRequest();">    <option value="">---省---</option>    <option value="hunan">湖南</option>    <option value="jiangsu" >江蘇</option>    </select>    <select id="city">    <option value="">--城市--</option>    </select>     <select id="county">    <option value="">--縣城--</option>    </select>  </body></html>

cityList.php

<?php        //這裡兩句話很重要,第一講話告訴瀏覽器返回的資料是xml格式    header("Content-Type: text/xml;charset=utf-8");    //告訴瀏覽器不要快取資料    header("Cache-Control: no-cache");    //接收    $province=$_POST['province'];    //調試    file_put_contents("d:/mylog.log",$province."\r\n",FILE_APPEND);    $result="";    if($province=="hunan"){        $result="<province><city>長沙</city><city>嶽陽</city><city>衡陽</city></province>";            }else if($province=="jiangsu"){        $result="<province><city>南京</city><city>鹽城</city><city>蘇州</city></province>";    }        echo $result;?>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.