ajax写省市联动

来源:互联网 发布:mac免费office软件 编辑:程序博客网 时间:2024/05/18 00:28
用Ajax写的省市联动,添加地址的时候默认的省市都显示,- -请选择- - 但是修改的时候如何让省市下拉菜单里默认的选中,地址里的省市?[下拉菜单里的省,是直接从数据库拿出来保存在一个数组变量里,把变量付给下拉框]


js代码:
<script type="text/javascript">
//创建Ajax引擎对象
   function getXmlHttpObject(){
  var xmlHttpRequest;
  if(window.ActiveXObject){
  xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
  }else{
  xmlHttpRequest=new XMLHttpRequest();
  }
  return xmlHttpRequest;
}

var myXmlHttpRequest="";



   function getCities(){
   
   myXmlHttpRequest=getXmlHttpObject();
   
   if(myXmlHttpRequest){
   
   var url="../plus/showcity.php";//post
   
   var data="province="+$("sheng").value;
   
   myXmlHttpRequest.open("post",url,true);
   
   myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   
   myXmlHttpRequest.onreadystatechange=chuli;
   
   myXmlHttpRequest.send(data);
   
   
   }
   }
   
   function chuli(){
   
   if(myXmlHttpRequest.readyState==4){
   
   if(myXmlHttpRequest.status==200){
   //取出服务器回送的数据
   //window.alert(myXmlHttpRequest.responseXML);
   var cities=myXmlHttpRequest.responseXML.getElementsByTagName("city");
   //alert(cities.length);
   //遍历并取出城市
   $("city").length=0;
   var myOption=document.createElement("option");
   myOption.innerHTML="--请选择--";
   $("city").appendChild(myOption);
   
   for(var i=0;i<cities.length;i++){
   var city_name=cities[i].childNodes[0].nodeValue;
   //alert(city_name);
   var myOption=document.createElement("option");
   myOption.value=city_name;
   myOption.innerHTML=city_name;
   $("city").appendChild(myOption);
   }
   }
   }
   }
   
   function $(id){
   
   return document.getElementById(id);   
   }
</script>

html代码:

 <form class="box_form" action="address.php" method="post">
            <fieldset>
            <label>收件人:</label><input type="text" id="sjr" name="truename" onFocus="document.getElementById('sjr').className='mystyle'" onBlur="document.getElementById('sjr').className='mystyle2'" value="{dede:var.rows.truename/}"/>
            </fieldset>
            <fieldset>
            <label>手机:</label><input type="text" id="sj" name="phone" onFocus="document.getElementById('sj').className='mystyle'" onBlur="document.getElementById('sj').className='mystyle2'" value="{dede:var.rows.phone/}"/>
            </fieldset>
            <fieldset>
            <label>所在地:</label>
   <select name="province" id="sheng" onchange="getCities()">
    <option value="">--请选择--</option>
    {dede:array.province}
        <option value="{dede:value.id/}">{dede:value.name/}</option>
        {/dede:array}
   </select>
   <select name="city" id="city">
    <option value="">--请选择--</option>
   </select>
            </fieldset>
            <fieldset>
            <label>详细地址:</label><input type="text" id="xxdz" name="address" onFocus="document.getElementById('xxdz').className='mystyle'" onBlur="document.getElementById('xxdz').className='mystyle2'" value="{dede:var.rows.address/}"/>
            </fieldset>
            <fieldset>
            <label>邮编:</label><input type="text" id="yb" name="zipcode" onFocus="document.getElementById('yb').className='mystyle'" onBlur="document.getElementById('yb').className='mystyle2'" value="{dede:var.rows.zip/}"/>
            </fieldset>
            <fieldset>
            <label>设置为默认:</label><input type="radio" name="selected" value="1" checked="checked"/> 是&nbsp;&nbsp;<input type="radio" name="sz"/> 否
            </fieldset>
        
            <p class="form_btn"><input type="submit" value="保存" id="restore" onclick="check();"/><input type="reset" value="取消" id="can" /></p>
        </form>

php文件:

<?php
require_once (dirname(__FILE__) . "/../include/common.inc.php");
require_once(DEDEINC.'/dedesql.class.php');
//服务器端
//告诉浏览器返回的数据格式是xml格式
header("Content-Type: text/xml;charset=utf-8");
//告诉浏览器不要缓存数据
header("Cache-Control: no-cache");

//接收用户选择省的名字
$province=$_POST['province'];

$city = array();
$dsql->SetQuery("SELECT * FROM area WHERE reid=$province");
$dsql->Execute();
$i = 0 ;
while($row=$dsql->GetArray())
{
    $city[] = $row;
    $i++;
}
unset($row);
$info="<province>";
$len=count($city);
for($l=0;$l<$len;$l++){
   //file_put_contents("e:/aa.txt",$city[$l][name],FILE_APPEND);
    $info.="<city>".$city[$l][name]."</city>";  
}
$info.="</province>";
file_put_contents("e:/aa.txt",$info,FILE_APPEND);
echo $info;
原创粉丝点击