jquery 绑定省份和城市

前台代码:

<asp:DropDownList runat="server" ID="ddlProvince"></asp:DropDownList> <asp:DropDownList runat="server" ID="ddlCity"></asp:DropDownList>

后台绑定省份

protected void Page_Load(object sender, EventArgs e){        BindDDL();        ddlProvince.Attributes.Add("onchange", "getCitys(this)");}public void BindDDL(){//绑定省份、直辖市和特别行政区        ddlProvince.Items.Clear();        DataSet dsProvince = Province.GetAllCES();        ddlProvince.DataSource = dsProvince;        ddlProvince.DataTextField = "ProvinceName";        ddlProvince.DataValueField = "ProvinceID";        ddlProvince.DataBind();        ddlProvince.Items.Add(new ListItem("其他", "0"));}

js事件处理getCitys(),为了提高性能,下面不该创建一个个的option对象然后一个个的添加到ddlcity里面,应该放到一个字符串里面然后一起放到optionddlcity里面,这里就不改了。

function getCitys(ddlProvince) {            $.ajax({                url: "SettingsHandler.ashx",                data: { type: "getCitys", ProvinceID: $(ddlProvince).find("option:selected").val() },                type: "get",                cache: false,                dataType: "json",                error: function() {                    alert("occur error");                },                success: function(data) {                    $(‘#ddlCity‘).empty();                    var option0 = $("<option></option>");                    option0.text("不限");                    option0.val("0");                    $(‘#ddlCity‘).append(option0);                    if ($(ddlProvince).find("option:selected").val() != "0") {                        var objCitys = eval(data);                        $.each(objCitys.citys, function(i, city) {                            var option = $("<option></option>");                            option.text(city.CityName);                            option.val(city.CityID);                            $(‘#ddlCity‘).append(option);                        });                    }                }            });        }

SettingHandler.ashx文件

public void ProcessRequest(HttpContext context)    {        context.Response.ContentType = "application/json";        string strjson = "{\"JDataList\":[]}";        string strType = context.Request.QueryString["type"].ToString();        if (strType == "getCitys")//根据省份ID获取对应的城市        {            string strProvinceID = context.Request.Form["ProvinceID"].ToString();            DataSet dsCitys = Province.GetCitysByProvinceID(ValidateHelper.GetInt(strProvinceID));            if (DataHelper.DataIsNotNull(dsCitys))            {                strjson = JsonHelper.DataTableToJSON(dsCitys.Tables[0], "citys");            }        }
    return strjson;}

JsonHelper.DataTableToJSON(DataTable dt,string dtName)方法:

public static string DataTableToJSON(DataTable dt, string dtName)    {        StringBuilder sb = new StringBuilder();        StringWriter sw = new StringWriter(sb);

        using (JsonWriter jw = new JsonTextWriter(sw))        {            JsonSerializer ser = new JsonSerializer();            jw.WriteStartObject();            jw.WritePropertyName(dtName);            jw.WriteStartArray();            foreach (DataRow dr in dt.Rows)            {                jw.WriteStartObject();

                foreach (DataColumn dc in dt.Columns)                {                    jw.WritePropertyName(dc.ColumnName);                    ser.Serialize(jw, dr[dc].ToString());                }

                jw.WriteEndObject();            }            jw.WriteEndArray();            jw.WriteEndObject();

            sw.Close();            jw.Close();

        }

        return sb.ToString();    }

以上使用了JSON、JQUERY来实现省市的无刷新联动。

jquery 绑定省份和城市

时间: 2024-10-18 11:23:10

jquery 绑定省份和城市的相关文章

基于MVC+EasyUI的Web开发框架经验总结(7)--实现省份、城市、行政区三者联动

为了提高客户体验和进行一些技术探索,现在正准备把我自己的客户关系管理系统CRM在做一个Web的版本,因此对基于MVC的Web界面继续进行一些研究和优化,力求在功能和界面上保持和Winform一致,本文主要介绍在我的CRM系统中用到的全国省份.城市.行政区三者的两种效果,在Winform上实现没问题,在Web上基于MVC的EasyUI实现,同样也没有问题. 1.Winform上省份.城市.行政区的联动效果 在很早的时候,我在Winform框架的一篇随笔<Winform开发框架之字典管理模块的更新,

基于MVC4+EasyUI的Web开发框架经验总结(7)--实现省份、城市、行政区三者联动

为了提高客户体验和进行一些技术探索,现在正准备把我自己的客户关系管理系统CRM在做一个Web的版本,因此对基于MVC的Web界面继续进行一些研究和优化,力求在功能和界面上保持和Winform一致,本文主要介绍在我的CRM系统中用到的全国省份.城市.行政区三者的两种效果,在Winform上实现没问题,在Web上基于MVC的EasyUI实现,同样也没有问题. 1.Winform上省份.城市.行政区的联动效果 在很早的时候,我在Winform框架的一篇随笔<Winform开发框架之字典管理模块的更新,

(转)基于MVC4+EasyUI的Web开发框架经验总结(7)--实现省份、城市、行政区三者联动

http://www.cnblogs.com/wuhuacong/p/3841338.html 为了提高客户体验和进行一些技术探索,现在正准备把我自己的客户关系管理系统CRM在做一个Web的版本,因此对基于MVC的Web界面继续进行一些研究和优化,力求在功能和界面上保持和Winform一致,本文主要介绍在我的CRM系统中用到的全国省份.城市.行政区三者的两种效果,在Winform上实现没问题,在Web上基于MVC的EasyUI实现,同样也没有问题. 1.Winform上省份.城市.行政区的联动效

jQuery绑定事件的四种方式

jQuery绑定事件的四种方式 jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码.下面我们来看下jQuery中绑定事件的方式都有哪些. jQuery中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off.在开始看他们之前 一:bind(type,[data],function(eventObject

全国各省份、城市、地区、学校及院系数据库

收集整理出一份“全国各省份.城市.地区.学校及院系数据库”.内含两份文件,一份为mysql脚本.另一份为sql server脚本.方便使用. 各省份.城市.地区.学校及院系已分拆到不同的表. 下载地址:全国各省份.城市.地区.学校及院系数据库

JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参

JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转.传参(selected的值和页面其它元素的值) 代码如下: <script src="jquery.min.js" type="text/javascript"></script> <script language="javascript" type="text/javascript"> $(document

jQuery绑定事件-多种方式实现

jQuery绑定事件-多种方式实现: <html> <head> <meta charset="utf-8" /> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><!--百度CDN--> </head> <body> <input type="text"/&

Jquery绑定事件(bind和live的区别)

Jquery中绑定事件有三种方法:以click事件为例 (1)target.click(function(){}); (2)target.bind("click",function(){}); (3)target.live("click",function(){}); 第一种方法很好理解,其实就和普通JS的用法差不多,只是少了一个on而已 第二.三种方法都是绑定事件,但是二者又有很大的不同,下面着重讲解一下,因为这个如果用到Jquery的框架的话是用的挺多的,尤其要

省份、城市、区县三级联动Html代码

<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery-1.11.0.min.js"></script> <script ty