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"/> 是 <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;
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"/> 是 <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;
阅读全文
0 0
- ajax写省市联动
- Ajax联动实现省市联动
- ajax pro省市联动
- ajax省市县联动
- jquery AJAX 省市联动
- AJAX实现省市联动
- 省市联动 ajax
- 省市联动ajax代码
- AJAX实现省市联动
- ajax 省市联动 代码
- 4. AJAX 省市联动
- ajax+js省市联动
- 省市联动 json ajax
- ajax实现省市三级联动
- Ajax实现省市二级联动
- ajax省市县三级联动
- java ajax二级省市联动
- ajax三级联动省市选择器
- 删除链表中重复的节点
- ODL AAA认证加密
- js实用调试技巧
- Android快速开发框架之xUtils---注解模块 ---- ViewInject
- 【福利】3980元的Hadoop大数据视频教程限量领取!!!文中有惊喜!
- ajax写省市联动
- RPC入门总结(八)Dubbo框架初探
- Nginx全局配置
- 二叉树的下一个节点
- error: need 'typename' before '.......'的解决方法
- Spring Cloud构建微服务架构-Hystrix依赖隔离
- 项目引用云通信module例子后运行报错
- 第8章 指针 ——指针变量做函数参数:典型实例
- java连接数据库和执行静态和动态的sql语句