ajax 省市联动 代码

前端之家收集整理的这篇文章主要介绍了ajax 省市联动 代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

省市联动:


代码如下:

showCities.PHP

  1. <span style="font-size:18px;"><html>
  2. <head>
  3. <Meta http-equiv="content-type" content="text/html;charset=utf-8"/>
  4. <script type="text/javascript">
  5.  
  6.  
  7. //创建ajax引擎
  8. function getXmlHttpObject(){
  9. var xmlHttpRequest;
  10. //不同的浏览器获取对象xmlhttprequest 对象方法不一样
  11. if(window.ActiveXObject){
  12. xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
  13. }else{
  14.  
  15. xmlHttpRequest=new XMLHttpRequest();
  16. }
  17.  
  18. return xmlHttpRequest;
  19.  
  20. }
  21.  
  22. var myXmlHttpRequest="";
  23.  
  24. function getCities(){
  25.  
  26. myXmlHttpRequest=getXmlHttpObject();
  27.  
  28. if(myXmlHttpRequest){
  29. var url="/ajax/showCitiesPro.PHP";//post
  30. var data="province="+$('sheng').value;
  31.  
  32. myXmlHttpRequest.open("post",url,true);//异步方式
  33.  
  34. myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  35.  
  36. //指定回调函数
  37. myXmlHttpRequest.onreadystatechange=chuli;
  38.  
  39. //发送
  40. myXmlHttpRequest.send(data);
  41. }
  42. }
  43.  
  44. function chuli(){
  45. if(myXmlHttpRequest.readyState==4){
  46. if(myXmlHttpRequest.status==200){
  47. //取出服务器回送的数据
  48.  
  49. var cities=myXmlHttpRequest.responseXML.getElementsByTagName("city");
  50. <span style="white-space:pre"> </span>//每次加载数据之前将已存在数据清空
  51. $('city').length=0;
  52. var myOption=document.createElement("option");
  53. myOption.innerText="--城市--";
  54. //添加
  55. $('city').appendChild(myOption);
  56.  
  57. //遍历并取出城市
  58. for(var i=0;i<cities.length;i++){
  59. var city_name=cities[i].childNodes[0].nodeValue;
  60. //创建新的元素option
  61. var myOption=document.createElement("option");
  62. myOption.value=city_name;
  63. myOption.innerText=city_name;
  64. //添加
  65. $('city').appendChild(myOption);
  66. }
  67. }
  68. }
  69. }
  70.  
  71.  
  72. //这里我们写一个函数
  73. function $(id){
  74. return document.getElementById(id);
  75. }
  76.  
  77. </script>
  78. </head>
  79. <body>
  80. <select id="sheng" onchange="getCities();">
  81. <option value="">---省---</option>
  82. <option value="zhejiang">浙江</option>
  83. <option value="jiangsu" >江苏</option>
  84. <option value="sichuan" >四川</option>
  85. </select>
  86. <select id="city">
  87. <option value="">--城市--</option>
  88. </select>
  89. <select id="county">
  90. <option value="">--县城--</option>
  91. </select>
  92.  
  93. </body>
  94. </html>
  95. </span>

showCitiesProcess.PHP

  1. <span style="font-size:18px;"><?PHP
  2.  
  3. //服务器端
  4.  
  5. //这里两句话很重要,第一讲话告诉浏览器返回的数据是xml格式
  6. header("Content-Type: text/xml;charset=utf-8");
  7. //告诉浏览器不要缓存数据
  8. header("Cache-Control: no-cache");
  9.  
  10.  
  11. //接收用户的选择的省的名字
  12.  
  13. $province=$_POST['province'];
  14.  
  15. file_put_contents("d:/mylog.log",$province."\r\n",FILE_APPEND);
  16. //如何在调试过程中,看到接收到的数据 。
  17. //到数据库查询省有那些城市(现在先不到数据库)
  18. $info="";
  19. if($province=="zhejiang"){
  20. $info="<province><city>杭州</city><city>温州</city><city>宁波</city></province>";
  21. }else if($province=="jiangsu"){
  22. $info="<province><city>南京</city><city>徐州</city><city>苏州</city></province>";
  23. }
  24.  
  25. echo $info;
  26.  
  27. ?>
  28. </span>

猜你在找的Ajax相关文章