用Ajax写的省市联动,修改时如何显示地址里已有的省和市

php中文网
发布: 2016-06-23 13:44:07
原创
1392人浏览过

用Ajax写的省市联动,添加地址的时候默认的省市都显示,- -请选择- - 但是修改的时候如何让省市下拉菜单里默认的选中,地址里的省市?[下拉菜单里的省,是直接从数据库拿出来保存在一个数组变量里,把变量付给下拉框]


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

html代码:

 


            

            
            

            

            
            

            

            
   
   
            

            

            
            

            

            
            

            

             是   否
            

        
            


        


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="";
$len=count($city);
for($l=0;$l    //file_put_contents("e:/aa.txt",$city[$l][name],FILE_APPEND);
    $info.="".$city[$l][name]."";  
}
$info.="
";
file_put_contents("e:/aa.txt",$info,FILE_APPEND);
echo $info;

爱改写
爱改写

AI写作和改写润色工具

爱改写 44
查看详情 爱改写

回复讨论(解决方案)

选中 省 ajax 取得 市 列表
并不需要再修改 省 列表了

怎么选中省呢??

那我就奇怪了,你不是 省市联动 吗?
选中省 当然是用户的事情啦

Ajax实现数据库填充省市下拉框联动菜单示例
//Ajax和DropDownList设置
 
    

  
                        
                                                             onselectedindexchanged="dlSheng_SelectedIndexChanged">
                            
                                                
                            

                        

                    

//调用数据库显示下拉框数据
SqlConnection sqlcon;
    string strCon = ConfigurationManager.AppSettings["conn"];
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            sqlcon = new SqlConnection(strCon);
            string sqlstr = "select tbSheng from tb_Sheng";
            SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
            DataSet myds = new DataSet();
            sqlcon.Open();
            myda.Fill(myds);
            dltbSheng.DataSource= myds;
            dltbSheng.DataValueField = "tbSheng";
            dltbSheng.DataBind();
            string strtb_Shi = "select * from dl_Shi where tbSheng='" + dltbSheng.SelectedItem.Text + "'";
            SqlDataAdapter mydaShi = new SqlDataAdapter(strtb_Shi, sqlcon);
            DataSet mydsShi = new DataSet();
            mydaShi.Fill(mydsShi);
            ddlShi.DataSource = mydsShi;
            ddlShi.DataValueField = "tb_Shi";
            ddlShi.DataBind();
            sqlcon.Close();
        }

    }
    protected void dlSheng_SelectedIndexChanged(object sender, EventArgs e)
    {
        sqlcon = new SqlConnection(strCon);
        string sqlstr = "select * from dl_Shi where tbSheng='" + dltbSheng.SelectedItem.Text+ "'";
        SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
        DataSet myds = new DataSet();
        sqlcon.Open();
        myda.Fill(myds);
        ddlShi.DataSource = myds;
        ddlShi.DataValueField = "tb_Shi";
        ddlShi.DataBind();
        sqlcon.Close();
    }

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号