Ajax实现联动效果
用到了地区的数据库
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实现联动效果的更多相关文章
- asp.net DropDownList无刷新ajax二级联动实现详细过程
只适合新手制作DropDownList无刷新ajax二级联动效果: 数据库实现,添加两表如图:表1,pingpai,表2,type,具体数据库实现看自己的理解: //页面主要代码: <asp:S ...
- Json 基于jQuery+JSON的省市联动效果
helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery JSON Ajax 省市联动 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些 ...
- html + ashx 实现Ajax省市联动
基本思路:1.了解数据库中省和市的表结构及关联主键 2.创建html页面及select标签 3.通过ajax向ashx(一般处理程序)发送后台请求完成联动效果 表结构: 这里,开始创建一个命为demo ...
- jquery.cityselect.js基于jQuery+JSON的省市或自定义联动效果
一.插件介绍 最早做省市联动的时候都特别麻烦,后来在helloweba的一篇文章中看到这个插件,很不错的,后来就一直用了. 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最 ...
- Asp.Net下,基于Jquery的Ajax二级联动
最近做一个项目,要求实现二级联动效果.背景为:通过学院的选择,联动出专业选项.起初想直接用微软的控件实现Ajax效果,但是DropDownList控件会自动触发PostBack,在后台根本就不好控制, ...
- JS省市区联动效果
省市区联动下拉效果在WEB中应用非常广泛,尤其在电商网站最为常见.一般使用Ajax实现无刷新下拉联动.利用jQuery,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 首先我们可以看 ...
- MVC 下拉框联动效果(单选)
下拉框联动效果,我们以部门--职位为例,选择部门时,关联到该部门的职位.下拉框的写法就不多说了,详细请参照前文. 视图: 其中,dept是部门的属性,deptlist是部门下拉框的属性,job是职位的 ...
- 基于jQuery+JSON的省市县 二级 三级 联动效果
省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最为常见.开发者一般使用Ajax实现无刷新下拉联动.本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉 ...
- 基于jQuery+JSON的省市联动效果
省市区联动下拉效果在WEB应用中使用非常广泛,尤其在一些会员信息系统.电商网站最为常见,开发者一般使用AJAX实现无刷新下拉联动. 本文将讲述利用jQuery插件,通过读取JSON数据,实现无刷新动态 ...
随机推荐
- Luke 6:43-45
For no good tree bears bad fruit, nor again does a bad tree bear good fruit, for each tree is known ...
- [转载]ExtJs4 笔记(10) Ext.tab.Panel 选项卡
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...
- CSS 属性 - position讲解
postion 属性定义了一个元素在页面布局中的位置以及对周围元素的影响.该属性共有5个值: 1. position: static2. position: inherit3. position: r ...
- HDU 4460 Friend Chains --BFS
题意:问给定的一张图中,相距最远的两个点的距离为多少.解法:跟求树的直径差不多,从1 开始bfs,得到一个最远的点,然后再从该点bfs一遍,得到的最长距离即为答案. 代码: #include < ...
- SpringMVC 通过post接收form参数或者json参数
springmvc的controller很多都用来提供restful服务,成为多功能action 同一个接口既能够提供给web端,也可以提供给ios以及安卓 @RequestBody 可以把接收到的j ...
- Jenkins学习八:Jenkins语言本地化
在Jenkins中,英语一大片,不懂英语的看着头疼.非常高兴的是,Jenkins作为一个主流流行的持续构建工具,提供了一个本地化语言的配置界面. 你可以找到它,在Jenkins每页的左下角.如下图: ...
- java14-9 Doteformat的练习
需求: 键盘录入出生年月日,计算出距离现在已经生活了几天 分析: A:创建键盘录入固定模式的字符串 B:计算步骤: a:把输入进来的字符串格式化成日期 b:获取现在的日期,减去格式化后的日期 c:把得 ...
- 只有图片拼接的html页面图片之间有白条的解决方法
有时候会有这样的页面,整个页面也就是几张切好的图片组成,但是把这些图片使用代码拼接好,又总会出现图片间有白条的问题,如下图: 解决方法:给图片的父容器添加 line-height: 0; 就好了,因为 ...
- Android SQLite (一) 数据库简介
大家好,今天来介绍一下SQLite的相关知识,并结合Java实现对SQLite数据库的操作. SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准 ...
- 关于ZIP大文件压缩
实测:4.76 GB一个单文件压缩没有什么问题. import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...