一般处理程序文件 代码

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. 13-UIKit(tableviewcell贴图、手势GestureRecognizer、transform变形)

    目录: 一.tableviewcell贴图 二.手势GestureRecognizer 5.1 Tap(按一下) 5.2 Swipe(轻扫一下) 5.3 pinch(捏/扩) 5.4 longPres ...

  2. WebStorm 7.0 注册码

    User Name: EMBRACE License Key:===== LICENSE BEGIN =====24718-1204201000001h6wzKLpfo3gmjJ8xoTPw5mQvY ...

  3. Agg vs. Cairo 二维绘图引擎之比较和选择 .

    Agg vs. Cairo 二维绘图引擎之比较和选择 cheungmine 当今时代对于作为二维图形软件开发者, 是幸运的.因为除了Windows GDI/GDI+之外,我们还有很多其他的选择.而且这 ...

  4. Fragment保持状态切换,fragment状态切换

    在使用Activity管理多个Fragment时,每次切换Fragment使用的是replace,结果导致出现xxx is not currently in the FragmentManager异常 ...

  5. 安卓面试精华(Activity部分)

    过几天小弟要去面试了,当然免不了要好好复习下功课,其实很多东西也不是特别清楚,今天都当作一个回顾和巩固,希望我的这篇文章能对即将去找工作的同学有所帮助. 1. Q:什么是activity? 虽然这个问 ...

  6. CF 319D(Have You Ever Heard About the Word?-模拟)

    D. Have You Ever Heard About the Word? time limit per test 6 seconds memory limit per test 256 megab ...

  7. Android 调整屏幕分辩率

    Android 可设置为随着窗口大小调整缩放比例及设定fixed的窗口大小. 对于surface的控制在SurfaceHolder类中进行 而Android 屏幕分辩率中已经有一个类DisplayMe ...

  8. Java里的日期和时间学习

    Date date = new Date();//yyyy-mm-dd hh:mm:ss[.fffffffff] SimpleDateFormat sdf = new SimpleDateFormat ...

  9. 【linux】开发环境说明

    欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http:// ...

  10. AOP编程,spring实现及JDK,CGLIB实现

    什么是AOP? AOP(Aspect-OrientedProgramming,面向方面编程)和OOP(Object-Oriented Programing,面向对象编程)思想不同,两者并非对立关系,前 ...