$(document).ready(function () {
$("#Province").append("<option value=''>" + "--请选择--" + "</option>");
$("#City").append("<option value=''>" + "--请选择--" + "</option>");
$("#District").append("<option value=''>" + "--请选择--" + "</option>");
$.ajax({
url: "Handler1.ashx?type=0", //路径 地址
type: "get", //类型,post\get
dataType: "json", //json数据
success: function (msg) {//返回结果
for (var i = ; i < msg.length; i++) {
$("#Province").append("<option value='" + msg[i].ProvinceID + "'>" + msg[i].ProvinceName + "</option>");
}
}
});
//市
$("#Province").change(function () {
$("#City").empty(); //清空数据
$("#District").empty(); //清空数据
$("#District").append("<option value=''>" + "--请选择--" + "</option>");
var ProvinceID = $(this).val(); $.ajax({
url: "Handler1.ashx?type=1",
type: "get", //类型
data: {
ProvinceID: ProvinceID
},
dataType: "json", //json数据
success: function (msg) {
for (var i = ; i < msg.length; i++) { $("#City").append("<option value='" + msg[i].CityID + "'>" + msg[i].CityName + "</option>"); }
}
});
}); //区
$("#City").change(function () {
$("#District").empty(); //清空数据
var CityID = $(this).val();
$.ajax({
url: "Handler1.ashx?type=2",
type: "get", //类型
data: {
CityID: CityID
},
dataType: "json", //json数据
success: function (msg) {
for (var i = ; i < msg.length; i++) { $("#District").append("<option value='" + msg[i].DistrictID + "'>" + msg[i].DistrictName + "</option>"); }
}
}); });
}); <select id="Province"></select>
<select id="City"></select>
<select id="District" ></select>

结合ajax(一般处理程序)

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Web.Script.Serialization; namespace GovSystem.Company
{
/// <summary>
/// Handler1 的摘要说明
/// </summary>
public class Handler1 : IHttpHandler
{ public string text;
public void ProcessRequest(HttpContext context)
{
int action = Convert.ToInt32(context.Request.QueryString["type"]);
switch (action)
{
case (int)GetType.省:
text = Sel_Province(context);
break;
case (int) GetType.市:
text=Sel_City(context);
break;
case (int)GetType.区:
text = Sel_District(context);
break;
}
context.Response.ContentType = "text/plain";
context.Response.Write(text);
}
//省
private string Sel_Province(HttpContext context)
{
XieKe.BLL.S_Province b_Province = new XieKe.BLL.S_Province();
DataTable dt=b_Province.GetList("").Tables[];
List<XieKe.Model.S_Province> listInfo = new List<XieKe.Model.S_Province>();
for (int i = ; i < dt.Rows.Count; i++)
{
XieKe.Model.S_Province m_Province = new XieKe.Model.S_Province { ProvinceID = long.Parse(dt.Rows[i]["ProvinceID"].ToString()), DateCreated = Convert.ToDateTime(dt.Rows[i]["DateCreated"]), DateUpdated = Convert.ToDateTime(dt.Rows[i]["DateUpdated"]), ProvinceName = dt.Rows[i]["ProvinceName"].ToString() };
listInfo.Add(m_Province);
}
JavaScriptSerializer jssp = new JavaScriptSerializer();
string s= jssp.Serialize(listInfo);
return s;
}
//市
private string Sel_City(HttpContext context)
{
string ProvinceID = context.Request.QueryString["ProvinceID"];
XieKe.BLL.S_City b_City = new XieKe.BLL.S_City(); DataTable dt = b_City.GetList("ProvinceID="+ProvinceID).Tables[];
List<XieKe.Model.S_City> listInfo = new List<XieKe.Model.S_City>();
for (int i = ; i < dt.Rows.Count; i++)
{
XieKe.Model.S_City m_City = new XieKe.Model.S_City { CityID = long.Parse(dt.Rows[i]["CityID"].ToString()), CityName = dt.Rows[i]["CityName"].ToString(), DateCreated = Convert.ToDateTime(dt.Rows[i]["DateCreated"]), DateUpdated = Convert.ToDateTime(dt.Rows[i]["DateUpdated"]), ProvinceID = long.Parse(dt.Rows[i]["ProvinceID"].ToString()), ZipCode = dt.Rows[i]["ZipCode"].ToString() };
listInfo.Add(m_City);
}
JavaScriptSerializer jssp = new JavaScriptSerializer();
return jssp.Serialize(listInfo);
}
//区
private string Sel_District(HttpContext context)
{
string CityID = context.Request.QueryString["CityID"];
XieKe.BLL.S_District b_City = new XieKe.BLL.S_District();
DataTable dt = b_City.GetList("CityID=" + CityID).Tables[];
List<XieKe.Model.S_District> listInfo = new List<XieKe.Model.S_District>();
for (int i = ; i < dt.Rows.Count; i++)
{
XieKe.Model.S_District m_District = new XieKe.Model.S_District { CityID = Convert.ToInt32(dt.Rows[i]["CityID"]), DistrictName = dt.Rows[i]["DistrictName"].ToString() };
listInfo.Add(m_District);
}
JavaScriptSerializer jssp = new JavaScriptSerializer();
return jssp.Serialize(listInfo);
}
public bool IsReusable
{
get
{
return false;
}
}
public enum GetType
{
省 = ,
市 = ,
区 = ,
};
} }

JQuery+Ajax制作省市联动的更多相关文章

  1. 使用jquery.ajax实现省市的二级联动(SSH架构)

    首先实现jquery ajax的二级联动 要下载个jquery.js 我在这里就不准备了 自行百度下载 背景介绍:通过部门的ID来查找部门下的所有班级 我实现二级联动的思路是:先查询所有部门 显示在页 ...

  2. jquery ajax实现省市二级联动

    今天给大家带来使用jQuery ajax实现的省市联动效果.我们直奔主题,先说下实现思路: 准备数据 这里数据库我使用的是mysql,先看下表格: provience表 city表 这里使用provi ...

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

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

  4. ajax做省市联动

    原理: 当select.jsp页面打开时,向服务器发送异步请求,得到所有省份的名称(文本数据).然后使用每个省份名称创建<option>,添加到<select name=”provi ...

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

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

  6. ASP.NET webform基于Jquery,AJAX的三级联动

    主要html代码 <select id="province"> <option value="0">--请选择省份--</opti ...

  7. 用jQuery,ajax,实现三级联动封装JS的文件

    // JavaScript Document $(document).ready(function(e) { //找到ID=SANJI的DIV,造三个下拉扔进去 var str = "< ...

  8. JQuery中的省市联动

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

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

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

随机推荐

  1. view的setTag() 和 getTag()应用 (转)

    原文地址:http://www.cnblogs.com/qingblog/archive/2012/07/03/2575140.html View中的setTag(Onbect)表示给View添加一个 ...

  2. loj 1377 (bfs)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1377 思路:这道题只要处理好遇到"*"这种情况就可以搞定了.我们可 ...

  3. Oracle自动备份脚本(网上找到的资料)

    废话不多说了,直接给大家贴代码了,具体代码如下所示: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...

  4. Android中常用的五种数据存储方式

    第一种: 使用SharedPreferences存储数据 适用范围: 保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小 ...

  5. Servlet获取类路径下的资源

    示例程序: package cn.yzu; import java.io.IOException; import java.io.InputStream; import javax.servlet.S ...

  6. Liferay 6.2 改造系列之二十一:修改WebSphare下JSONWS服务不生效的BUG

    问题原因是WebSphare下,servletContext.getContextPath()获取到的值为“/”而非空字符串. 在/portal-master/portal-impl/src/com/ ...

  7. js 获取系统当前时间

    JS获取当前的日期和时间的方法:var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年 ...

  8. open文件操作

    open()做文件操作的就是他1.打开文件#f=open("db","r")#只读#f-open("db","w")#只 ...

  9. XAML数据绑定(Data Binding)

    XAML数据绑定(Data Binding)   Data Binding可以使得XAML标签属性的赋值更为灵活和方便.在绑定过程中,获取数据的标签成为目标标签:提供数据的标签成为源标签.在XAML中 ...

  10. Swift3.0语言教程比较、判断字符串

    Swift3.0语言教程比较.判断字符串 Swift3.0语言教程比较.判断字符串,在一个程序中字符串很多时,常常会做的操作就是对这些字符串进行比较和判断.本小节将讲解这些内容. 1.不区分大小写比较 ...