用到了地区的数据库

html代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="script/jquery-1.7.1.js"></script>
<script language="javascript">
$(document).ready(function () {
fillProv();//加载省份,加载省份的函数中调用了加载城市的函数,记载城市的函数调用了加载县市区的函数(为了防止异步传输页面加载不出东西)
//添加事件
//给省份添加事件
$("#ddlProv").change(function () {
fillCity();
});//change
$("#ddlCity").change(function () {
fillCountry();
});//change
});//ready function fillProv() {
$.ajax({
url: "LianDong.ashx",
data: { parent: "0001" },
type: "POST",
dataType: "XML",
success: function (data) {
//解析XML
$("#ddlProv").empty();//加载之前清空下拉
var arr = $(data).find("item");
for (var i = 0; i < arr.length; i++) {
var code = arr.eq(i).attr("code");
var name = arr.eq(i).attr("name");
//显示HTML
//var op = "<option value='" + code + "'>" + name + "</option>";
$("#ddlProv").append("<option value='" + code + "'>" + name + "</option>");
};//for
fillCity();
}//success
});//ajax
}
function fillCity()
{
var parent=$("#ddlProv").val();
$.ajax({
url: "LianDong.ashx",
data: { parent: parent },
type: "POST",
dataType: "XML",
success: function (data)
{
$("#ddlCity").empty();//加载之前清空下拉
//解析
var arr = $(data).find("item");
for (var i = 0; i < arr.length; i++) {
var code = arr.eq(i).attr("code");
var name = arr.eq(i).attr("name");
//显示HTML
$("#ddlCity").append("<option value='" + code + "'>" + name + "</option>");
}//for
fillCountry();
}//success
});//ajax
}
function fillCountry()
{
var parent = $("#ddlCity").val();
$.ajax({
url: "LianDong.ashx",
data: { parent: parent },
type: "POST",
dataType: "XML",
success: function (data)
{
$("#ddlCountry").empty();//加载之前清空下拉
//解析
var arr = $(data).find("item");
for (var i = 0; i < arr.length; i++) {
var code = arr.eq(i).attr("code");
var name = arr.eq(i).attr("name");
//显示
$("#ddlCountry").append("<option value='" + code + "'>" + name + "</option>");
}
}//success
});//ajax
} </script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlProv" runat="server"></asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server"></asp:DropDownList>
<asp:DropDownList ID="ddlCountry" runat="server"></asp:DropDownList>
</div>
</form>
</body>
</html>

服务端代码:

public class LianDong : IHttpHandler {
private MyDBDataContext _Context = new MyDBDataContext();
public void ProcessRequest (HttpContext context) {
//获取请求过来的值
var s = context.Request["parent"];
StringBuilder sb = new StringBuilder();//命名空间using System.Text;
string rel = null;
//根据请求过来的值查询相应的数据
var query = this._Context.ChinaStates.Where(r => r.ParentAreaCode == s);
if (query.Count()>)
{
foreach (ChinaStates data in query)
{
sb.Append("<item code='" + data.AreaCode + "' name='" + data.AreaName + "'/>");
}
}
//回发xml
rel = sb.ToString();
context.Response.Write("<?xml version='1.0'?>");
context.Response.Write("<root>");
context.Response.Write(rel);
context.Response.Write("</root>");
context.Response.End();
}

Ajax实现联动效果的更多相关文章

  1. asp.net DropDownList无刷新ajax二级联动实现详细过程

    只适合新手制作DropDownList无刷新ajax二级联动效果: 数据库实现,添加两表如图:表1,pingpai,表2,type,具体数据库实现看自己的理解: //页面主要代码: <asp:S ...

  2. Json 基于jQuery+JSON的省市联动效果

    helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery  JSON  Ajax  省市联动     省市区联动下拉效果在WEB中应用非常广泛,尤其在一些 ...

  3. html + ashx 实现Ajax省市联动

    基本思路:1.了解数据库中省和市的表结构及关联主键 2.创建html页面及select标签 3.通过ajax向ashx(一般处理程序)发送后台请求完成联动效果 表结构: 这里,开始创建一个命为demo ...

  4. jquery.cityselect.js基于jQuery+JSON的省市或自定义联动效果

    一.插件介绍 最早做省市联动的时候都特别麻烦,后来在helloweba的一篇文章中看到这个插件,很不错的,后来就一直用了. 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最 ...

  5. Asp.Net下,基于Jquery的Ajax二级联动

    最近做一个项目,要求实现二级联动效果.背景为:通过学院的选择,联动出专业选项.起初想直接用微软的控件实现Ajax效果,但是DropDownList控件会自动触发PostBack,在后台根本就不好控制, ...

  6. JS省市区联动效果

    省市区联动下拉效果在WEB中应用非常广泛,尤其在电商网站最为常见.一般使用Ajax实现无刷新下拉联动.利用jQuery,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 首先我们可以看 ...

  7. MVC 下拉框联动效果(单选)

    下拉框联动效果,我们以部门--职位为例,选择部门时,关联到该部门的职位.下拉框的写法就不多说了,详细请参照前文. 视图: 其中,dept是部门的属性,deptlist是部门下拉框的属性,job是职位的 ...

  8. 基于jQuery+JSON的省市县 二级 三级 联动效果

    省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最为常见.开发者一般使用Ajax实现无刷新下拉联动.本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉 ...

  9. 基于jQuery+JSON的省市联动效果

    省市区联动下拉效果在WEB应用中使用非常广泛,尤其在一些会员信息系统.电商网站最为常见,开发者一般使用AJAX实现无刷新下拉联动. 本文将讲述利用jQuery插件,通过读取JSON数据,实现无刷新动态 ...

随机推荐

  1. Hadoop中WritableComparable 和 comparator

    1.WritableComparable 查看HadoopAPI,如图所示: WritableComparable继承自Writable和java.lang.Comparable接口,是一个Writa ...

  2. UESTC 32 树上战争(Battle on the tree)

    这题其实很简单,每个人肯定都往上走,才能保证尽快赢,所以无非是看谁离根节点近,即深度小..用并查集中的findset思想,不断找父节点一直到根节点来找深度就可以了. 代码: #include < ...

  3. 最长上升子序列(LIS)模板

    最长递增(上升)子序列问题:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i<j,必有a[i]<a[j],这样最长的子序列称为最长递增(上升)子序列. 考虑两个数a[x ...

  4. c#中结构体(struct)和类(class)的区别

    一.类与结构的示例比较: 结构示例: public struct Person { string Name; int height; int weight public bool overWeight ...

  5. sql windows server2008 全套激活码

    vs2012 - Microsoft Visual Studio Ultimate 2012 旗舰版 有效注册密钥: YKCW6-BPFPF-BT8C9-7DCTH-QXGWC- Microsoft  ...

  6. 使用CuteSlider做网站炫酷的幻灯片

    cuteSlider 1.预览 官网:http://www.cuteslider.com/ 应用:http://www.dutphonelab.org/ 2.资料 文档:http://pan.baid ...

  7. git review报错一例

    在线上修改代码,最后使用git review提交代码审核的时候出现报错如下:[wangshibo@115~]$ vim testfile           #修改代码[wangshibo@115~] ...

  8. Use CLR Profiler

    Use CLR Profiler 第一次翻译对我而言比较长的E文,有很多不足之处,请见谅.(个人的习惯GC又做了名词又做了名词) 原文:http://msdn.microsoft.com/en-us/ ...

  9. java String.getBytes()编码问题——String.getBytes(charset)

    String的getBytes()方法是得到一个字串的字节数组,这是众所周知的.但特别要注意的是,本方法将返回该操作系统默认的编码格式的字节数组.如果你在使用这个方法时不考虑到这一点,你会发现在一个平 ...

  10. Oracle11G 7个服务说明

    中的方法成功安装Oracle 11g后,共有7个服务, 这七个服务的含义分别为: 1. Oracle ORCL VSS Writer Service: Oracle卷映射拷贝写入服务,VSS(Volu ...