一般处理程序文件 代码

using System;
using System.Web;
using System.Linq;
using System.Data.Linq;
using System.Text;

public class Xialaliebiao : IHttpHandler {

private MydbDataContext _Context = new MydbDataContext();
public void ProcessRequest (HttpContext context) {
//获取主键值
var sprent = context.Request["sprent"];
//查找数据ID
var var = _Context.ChinaStates.Where(p => p.ParentAreaCode == sprent);
//定义Item集合 为空
string item = null;
StringBuilder builder = new StringBuilder();//调用using System.Text; 用StringBuilder造个对象
if(var.Count()>0)
{
foreach(ChinaStates data in var)
{
//调用集合Item 给其属性赋值
builder.Append("<item code='" + data.AreaCode + "' name='" + data.AreaName + "'/>");
}
}

//送回Xml
item = builder.ToString();//把 item 用tostring() 全部转换成字符串
context.Response.Write("<?xml version='1.0'?>");
context.Response.Write("<root>");
context.Response.Write(item);
context.Response.Write("</root>");
context.Response.End();
}

HTML界面代码

<title></title>
<script src="jquery-1.8.2.min.js"></script>
<script language="javascript">
$(document).ready(function () {
FillProv();
$("#ddlProv").change(function () {
FillCity();//城市下拉列表显示城市信息
})
$("#ddlCity").change(function () {
FillCounty();//区县下拉列表显示区县信息
})
})
//定义城市回调函数
function FillProv (){
$.ajax({
url: "Hand/Xialaliebiao.ashx",
data: { sprent: "0001" },//找到获取值sprent(在一般配置文件里) 0001(根据城市id)
tpye: "POST",
dataType: "XML",
success: function (data) {
$("#ddlProv").empty();//清空下拉列表信息
var items = $(data).find("item");//掉item 集合
for(var i=0;i<items.length;i++)//用for 给每个的赋值
{
var code = $(items).eq(i).attr("code");//给items里任意一个code获取属性
var name = $(items).eq(i).attr("name");//给items里任意一个name获取属性

var $op = $("<option value='" + code + "'>" + name + "</Option>")//找到每个省份的value值(code)给他附上名字
$("#ddlProv").append($op);//给省份下拉列表 添加 名字
}
//加载完省份了。再调用加载城市就没有问题了。
FillCity();//由于用Ajax服务器端和客户端同时运行 上面加载完了省份信息 在这里加载城市信息就不会错了

}//sucess
})//ajax
}
function FillCity() {
var prov=$("#ddlProv").val();
$.ajax({
url: "Hand/Xialaliebiao.ashx",
data: {sprent:prov},
type: "POST",
dataType: "XML",
success: function (data) {
$("#ddlCity").empty();
var items = $(data).find("item");
for(var i=0;i<items.length;i++)
{
var code = $(items).eq(i).attr("code");
var name = $(items).eq(i).attr("name");

var $op = $("<option value='" + code + "'>" + name + "</option>");
$("#ddlCity").append($op);
}
FillCounty();//加载完城市信息 在这里掉区县信息
}//success
})//ajax

}
function FillCounty() {
var city =$("#ddlCity").val();
$.ajax({

url: "Hand/Xialaliebiao.ashx",
data: { sprent: city },
type: "POST",
dataType: "XML",
success: function (data) {
$("ddlCounty").empty();
var items = $(data).find("item");
for (var i = 0; i < items.length;i++)
{
var code = $(items).eq(i).attr("code");
var name = $(items).eq(i).attr("name");
var $op = $("<option value='" + code + "'>" + name + "</option>");
$("#ddlCounty").append($op);
}
}//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="ddlCounty" runat="server">
</asp:DropDownList>

</div>
</form>

Ajax 下拉列表联动显示的更多相关文章

  1. 下拉列表联动显示(Car表) 三级联动

    .Models namespace 下拉列表联动显示_Car表_.Models { public class ProductorBF { private MyDBDataContext _contex ...

  2. JAVA EE 项目经常使用知识 之AJAX技术实现select下拉列表联动的两种使用方法(让你真正理解ajax)

    ajax 下拉列表联动的使用方法. ajax的定义: AJAX 是一种用于创建高速动态网页的技术. 通过在后台与server进行少量数据交换,AJAX 能够使网页实现异步更新.这意味着能够在不又一次载 ...

  3. JAVA EE 项目常用知识 之AJAX技术实现select下拉列表联动的两种用法(让你真正理解ajax)

    ajax 下拉列表联动的用法. ajax的定义: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的 ...

  4. JQuery+Ajax实战三级下拉列表联动(八)

    本片文章为练习,项目中不会这样写: 一:涉及到的知识点: jQuery Dom操作 jQuery Ajax操作 ASP.net中的json操作 二:用了自动代码生成器 1.Dal层的代码: publi ...

  5. 下拉列表的使用(Ajax/数据联动)

    下拉列表联动

  6. 基于MVC3下拉列表联动(JQuery)

    上次项目中遇到一个需要多个下拉列表联动的操作,今天有空将实现方式整理以便以后参考. 要达到的效果是,点击一个下拉框,则另一个下拉框的值发生对应变化.如:选择中国,则另个一下拉框里显示中国各个省份. 传 ...

  7. 使用 AJAX + 三级联动 实现分类出全国各地的省,市,区

    使用AJAX + 三级联动  实现分类出全国各地的省,市,区 也可以将下面的显示页面所写的 function循环,封装成js文件,就是在写代码软件里创建一个js文件,就和创建一个HTML或php文件一 ...

  8. 无废话ExtJs 入门教程十二[下拉列表联动:Combobox_Two]

    无废话ExtJs 入门教程十二[下拉列表联动:Combobox_Two] extjs技术交流,欢迎加群(201926085) 不管是几级下拉列表的联动实现本质上都是根据某个下拉列表的变化,去动态加载其 ...

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

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

随机推荐

  1. Bernstein polynomials

    Bernstein多项式能够用来一致逼近闭区间上的连续函数. 对于[0,1]上的连续函数f(x),定义Bernstein多项式 B_n(f,x) = sum{k=0..n} f(k/n)C(k,n)t ...

  2. PHP 的解压缩ZipArchive中的extractTo()方法 LINUX+nginx环境中解压zip时文件丢失的问题

    在项目中要用ZipArchive解压ZIP文件,起初測试环境在WINDOWS平台中,測试通过,换到 LINUX+nginx 的环境中时 就出问题了(ZIP包中有文件和目录一共3百多个文件,大部分是带汉 ...

  3. 如何解决android logcat不打印信息在android开发中

    用eclipse进行android开发中经常遇到logcat无任何信息输出,这给我们调试程序带来很大的不便.解决办法:window-->show view-->选择android下的dev ...

  4. Eclipse用法和技巧五:生成说明文档2

    上面一篇文章里面我们介绍了一种生成可以被JDK提取到,生成JavaDoc的添加注释方法.下面再补充一种生成这种注释的方法,上图: 步骤一:光标移动到需要添加注释的语句旁边,快捷键:shift + al ...

  5. Qt录音程序

    源地址:http://www.oschina.net/code/snippet_1243295_48623 [代码] [C/C++]代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  6. Delphi - SEH研究

    技术交流,DH讲解. 前几天一个朋友在弄游戏外挂想带NP调试,就像自己来捕获游戏的异常.好像就要用到SEH这方面的知识.一起研究了一下,这里看下研究 和 在网上找的资料吧.SEH就是Structure ...

  7. Maven坐标 groupId artifactId version packaging classifier name

    groupId定义项目属于哪个组,这个组往往和项目所在的组织或公司存在关联.譬如在googlecode上建立一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp ...

  8. 基于visual Studio2013解决面试题之0604O(1)时间复杂度删除链表节点

     题目

  9. Boost::asio io_service 实现分析

    io_service的作用 io_servie 实现了一个任务队列,这里的任务就是void(void)的函数.Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run ...

  10. 正则表达式概述与JAVA中正则表达式的应用

    编程或者电脑使用过程中,经常需要对字符串进行 匹配,查找,替换,判断.如果单纯用代码 if () ,whlie 什么的进行比较复杂麻烦.正则表达式是一种强大灵活的文本处理工具,专门对字符串进行匹配,查 ...