Jquery代码

<script type="text/javascript">
          $(function(){

//提交事件
           $("#ImageButton1").click(function(){

//省Id
        var provinceId=$("#selProvince").val();

//市Id
        var cityId=$("#selCity").val();
        //区县Id

var districtId=$("#selDistrict").val();
        //把省市区ID赋值到隐藏域

$("#hidProvince").attr("value",provinceId);
         $("#hidCity").attr("value",cityId);
          $("#hidDistrict").attr("value",districtId);
          });
            //加载地区
         var area=$("#hidArea").val();  //后台将(省,市,区)ID放到隐藏域hidArea
//         alert(area);
         loadArea(0,0,area);//Ajax方法查询默认(北京,北京,朝阳)
         $("#selProvince").change(function(){//存放省的下拉框发生变化时调用Ajax
        loadArea(this.value,1,"");
        });
        $("#selCity").change(function(){//存放市的下拉框发生变化时调用Ajax
        loadArea(this.value,2,"");
         });

//id:省(0)市县id,type:0为省,1为市,2县,area:北京,北京,朝阳区
function loadArea(id,type,area){
    $.ajax({
        type:"get",
        url:"/ashx/GetArea.ashx",
        data:{Id:id,type:type},
        dataType:"json",
        success:function(data){
            var str="";
            var areaArr=area.split(",");
            if(type==0){
                $.each(data,function(i,item){
                    str=str+"<option value=\""+item.Id+"\">"+item.Name+"</option>";
                })
                var selProvince=$("#selProvince");
                selProvince.html(str);
                if(areaArr[0])
                {
                    selProvince.val(areaArr[0]);
                }
                loadArea(selProvince.val(),1,area);
            }
            if(type==1){
                $.each(data,function(i,item){
                    str=str+"<option value=\""+item.Id+"\">"+item.Name+"</option>";
                })
                var selCity=$("#selCity");
                selCity.html(str);
                if(areaArr[1])
                {
                    selCity.val(areaArr[1]);
                }
                loadArea(selCity.val(),2,area);
            }
            if(type==2){
                $.each(data,function(i,item){
                    str=str+"<option value=\""+item.Id+"\">"+item.Name+"</option>";
                })
                var selDistrict=$("#selDistrict");
                selDistrict.html(str);
                if(areaArr[2])
                {
                    selDistrict.val(areaArr[2]);
                }
                //$("#selDistrict")
            }
        }
        
    });
    }
        </script>


aspx页面代码

<div class="ptop1">填写联系地址:<span class="spanlv">*</span></div>
                <div class="ptop2">
                 <select id="selProvince" runat="server">
                </select>
                <select id="selCity" runat="server">
                </select>
                <select id="selDistrict" runat="server">
                </select>

<input type="hidden" id="hidArea" value="" runat="server" />
                <input type="hidden" runat="server" id="hidProvince" />
                <input type="hidden" runat="server" id="hidCity" />
                <input type="hidden" runat="server" id="hidDistrict" />
             
             </div>


一般处理程序 源码

using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using BLL;
using Newtonsoft.Json;
using System.Collections.Generic;
using Model;
using Common;
using Model.Linq;

namespace Web.ashx
{
    /// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class GetArea : IHttpHandler
    {

public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            int id = 0;
            string strId = context.Request.QueryString["Id"];
            //类型:省0,市1,县2
            string type = context.Request.QueryString["type"];
            if (!string.IsNullOrEmpty(strId))
            {
                id = Convert.ToInt32(strId);
            }
            phDataContext ph = new phDataContext();
            string result = "";
            if (type == "0")
            {
                result = ConvertHelper.DataToJson(ph.Province.Select(p=> new { p.Id, p.Name}));
                context.Response.Write(result);
            }
            if (type == "1")
            {
                result = ConvertHelper.DataToJson(ph.City.Where(c => c.ProvinceId == id).Select(c => new { c.Id,c.Name }));
                context.Response.Write(result);
            }
            if (type == "2")
            {
                result = ConvertHelper.DataToJson(ph.District.Where(c => c.CityId == id).Select(d => new { d.Id, d.Name }));
                context.Response.Write(result);
            }
            //context.Response.Write(result);
        }

public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}


后台代码

//这个就是给hidArea隐藏域赋值

if (!pm01.Area.IsNullOrEmptyOrWhiteSpace())
                    {
                        //this.hidArea.Value = pm01.Area;
                        hidArea.Value = pm01.ProvinceId + "," + pm01.CityId + "," + pm01.DistrictId;
                    }

自从用了ajax就停不下来了  (ˇˍˇ) 想~


Jquery+Ajax下拉框级联查询的更多相关文章

  1. ajax,下拉框级联

    js代码: $(document).ready(function() { $("#type1").change(function(){ var type1Code=$(" ...

  2. Java Swing应用程序 JComboBox下拉框联动查询

    在web项目中,通过下拉框.JQuery和ajax可以实现下拉框联动查询. 譬如说,当你查询某个地方时,页面上有:省份:<下拉框省份> 市区:<下拉框市区> 县乡:<下拉 ...

  3. jQuery对下拉框Select操作总结

    jQuery对下拉框Select操作总结 转自网络,留做备用 jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change( ...

  4. layui select 下拉框 级联 动态赋值 与获取选中值

    //下拉框必须在 class="layui-form" 里 不然监听事件没有作用 <div class="layui-form" > <div ...

  5. jquery div 下拉框焦点事件

    这章与上一张<jquery input 下拉框(模拟select控件)焦点事件>类似 这章讲述div的焦点事件如何使用 div的焦点事件与input的焦点事件区别在于 需要多添加一个属性: ...

  6. Jquery操作下拉框(DropDownList)实现取值赋值

    Jquery操作下拉框(DropDownList)想必大家都有所接触吧,下面与大家分享下对DropDownList进行取值赋值的实现代码 1. 获取选中项: 获取选中项的Value值: $('sele ...

  7. jquery 获取下拉框值与select text

    下面先介绍了很多jquery获取select属性的方法,同时后面的实例我们讲的是jquery 获取下拉框值与select text代码. 下面先介绍了很多jquery获取select属性的方法,同时后 ...

  8. js,jquery获取下拉框选中的option

    js获取select选中的值: var sel=document.getElementById("select1"); var index = sel.selectedIndex; ...

  9. Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢)

    Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢) 1. 获取选中项: 获取选中项的Value值: $('select#sel option:selected').val() ...

随机推荐

  1. Elasticsearch——分词器对String的作用

    更多内容参考:Elasticsearch学习总结 关于String类型--分词与不分词 在Elasticsearch中String是最基本的数据类型,如果不是数字或者标准格式的日期等这种很明显的类型, ...

  2. 在SQL Server 2016里使用查询存储进行性能调优

    作为一个DBA,排除SQL Server问题是我们的职责之一,每个月都有很多人给我们带来各种不能解释却要解决的性能问题. 我就多次听到,以前的SQL Server的性能问题都还好且在正常范围内,但现在 ...

  3. ADO.NET基础巩固-----连接类和非连接类

          最近的一段时间自己的状态还是不错的,早上,跑步,上自习看书,下午宿舍里面编程实战,晚上要么练习代码,要么去打球(在不打就没机会了),生活还是挺丰富的. 关于C#的基础回顾就先到前面哪里,这 ...

  4. [转]俞敏洪:我和马云就差了8个字... [来自: news.mbalib.com]

    我和马云差了 8 个字:越败越战,愈挫愈勇. 马云,我真的非常的佩服他,首先佩服他的是他跟我有同样的经历,我考了 3 年才考上了大学:他也是考了 3 年.我比他还要幸运一点,我考上的是北大的本科,马云 ...

  5. Java连接MYSQL 数据库的连接步骤

    这篇文章主要以MySQL为例讲下Java如何连接到数据库的. 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC ...

  6. 不可或缺 Windows Native (13) - C++: 标准输入, 标准输出, 字符串内存流

    [源码下载] 不可或缺 Windows Native (13) - C++: 标准输入, 标准输出, 字符串内存流 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 标准输 ...

  7. 本地电脑安装和配置Redis操作客户端

    下载需要的文件:http://pan.baidu.com/s/1gdfQePl 把这个下载下来解压就可以了,如图所示     第一步(配置本地服务) 点击run这个DOS执行命令 因为是自己的电脑测试 ...

  8. Linux安装JDK1.8

    1. 安装前,最好先删除Linux自带的OpenJDK: (1)运行java-version,会发现Linux自带的OpenJDK,运行rpm -qa | grep OpenJDK,找出自带的Open ...

  9. ListActivity的CheckBox点击事件

    在一个ListActivity中,可能有很多行,如何在某个动作(如点击某个按钮)时判断哪些行的CheckBox被选中了,哪些行的CheckBox没有被选中,这是一个需要解决的问题. 首先,需要让Bas ...

  10. Snippet: Fetching results after calling stored procedures using MySQL Connector/Python

    https://geert.vanderkelen.org/2014/results-after-procedure-call/ Problem Using MySQL Connector/Pytho ...