AJAX 实战【三级联动】分析
使用 AJAX 对全国地名进行选取
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="Jquery/jquery-1.7.1.min.js"></script> <style type ="text/css">
.sele
{
width:80px;
} </style> </head>
<body>
<form id="form1" runat="server"> <%--三个下拉列表--%>
<select id="sel1" class="sele"></select> <select id="sel2" class ="sele"></select> <select id="sel3" class ="sele"></select> </form>
</body>
</html> <script type ="text/javascript" > selectlode(""); //执行 a=1 //写一个加载方法 function selectlode(a) { if (a == "")
{
$.ajax({
url: "ccc.ashx",
data: {"areacode":""},
type: "post",
dataType: "json",
success: function (msg) { //接收 ajax 传出了的数据 for (var i= ; i < msg.length; i++)
{
//将结果编写成 html 标记语言 var v = "<option value=\"" + msg[i].code + "\">" + msg[i].name + "</option>"; $("#sel1").append(v);
} selectlode(""); // 当1 加载完后再加载2 },
error: function () { },
beforeSend: function () { $("#sel1").html(""); // 加载结果时,先将元数据清空 },
complete: function () { } });
} if (a == "")
{
$.ajax({
url: "ccc.ashx",
data: { "areacode": $("#sel1").val() },
type: "post",
dataType: "json",
success: function (msg) { for (var i = ; i < msg.length; i++) {
var v = "<option value=\"" + msg[i].code + "\">" + msg[i].name + "</option>"; $("#sel2").append(v);
} selectlode(""); //加载完2后加载3 },
error: function () { },
beforeSend: function () { $("#sel2").html('');
},
complete: function () { } }); } if (a == "")
{
$.ajax({
url: "ccc.ashx",
data: { "areacode": $("#sel2").val() },
type: "post",
dataType: "json",
success: function (msg) { for (var i = ; i < msg.length; i++) {
var v = "<option value=\"" + msg[i].code + "\">" + msg[i].name + "</option>"; $("#sel3").append(v);
} },
error: function () { },
beforeSend: function () { $("#sel3").html('');
},
complete: function () { } }); } } //选项改变时查询方法 $("#sel1").change(function(){ //当1选项改变时2执行 selectlode("");
}); $("#sel2").change(function () { //当2选项改变时3执行
selectlode(""); }); </script>
.aspx
<%@ WebHandler Language="C#" Class="ccc" %> using System;
using System.Web; using System.Linq; //**********
using System.Collections.Generic; //********** 三个引入的命名空间
using System.Text; //********** public class ccc : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{ StringBuilder str = new StringBuilder(); str.Append("["); // 字符串拼接 string s = context.Request["areacode"]; using (DataClassesDataContext con = new DataClassesDataContext())
{
List<ChinaStates> clist = new List<ChinaStates>(); clist = con.ChinaStates.Where(r => r.ParentAreaCode ==s).ToList(); int count = ;
foreach (ChinaStates c in clist)
{
if (count > )
{
str.Append(",");
}
str.Append("{\"code\":\""+c.AreaCode +"\",\"name\":\""+c.AreaName+"\"}"); count++; //将查询结果拼接成 json 对象!!!!!!!
} }
str.Append("]"); context.Response.Write(str);
context.Response.End(); } public bool IsReusable
{
get
{
return false;
}
} }
.ashx
AJAX 实战【三级联动】分析的更多相关文章
- JQuery+Ajax实战三级下拉列表联动(八)
本片文章为练习,项目中不会这样写: 一:涉及到的知识点: jQuery Dom操作 jQuery Ajax操作 ASP.net中的json操作 二:用了自动代码生成器 1.Dal层的代码: publi ...
- AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;
js做日期选择: 实现当前年份的前5后5年的日期选择 实现功能:年份和月份页面加载完成使用JS循环添加,天数根据月份的变化动态添加改变 扩展功能:天数可以根据闰年平年变化 <body> & ...
- ajax 实现三级联动
ajax 实现三级联动,相当于写了一个小插件,用的时候直接拿过来用就可以了,这里我用了数据库中的chinastates表, 数据库内容很多,三级联动里的地区名称都在里面,采用的是代号副代号的方式 比如 ...
- 在使用ajax实现三级联动调用数据库数据并通过调出的数据进行二级表单查询
在使用ajax实现三级联动查询数据库数据后再使用ajax无刷新方式使用三级联动调出的数据进行二级查询 但是现在遇到问题,在二级查询的时候期望是将数据以表格的形式展示在三级联动的下方,但是现在在查询后会 ...
- ajax 实现三级联动下拉菜单
ajax 实现三级联动,相当于写了一个小插件,用的时候直接拿过来用就可以了,这里我用了数据库中的chinastates表, 数据库内容很多,三级联动里的地区名称都在里面,采用的是代号副代号的方式 比如 ...
- PHP ajax 实现三级联动
在一个单独JS页面中,利用ajax实现三级联动,做成一个三级联动形式,以便于以后随时调用 JS代码: $(document).ready(function(e) { $("#sanji&qu ...
- ajax省市区三级联动
jdbc+servlet+ajax开发省市区三级联动 技术点:jdbc操作数据库,ajax提交,字符拦截器,三级联动 特点:局部刷新达到省市区三级联动,举一反三可以做商品分类等 宗旨:从实战中学习 博 ...
- 完整的Ajax及三级联动小练习
Ajax结构: var name = $("#text_1").val(); $.ajax({ url: "Ashxs/Handler.ashx",//一般处理 ...
- Ajax实现三级联动(0520)
查询数据库中的chinastates表,通过父级代号查询相应省市区. 实现界面: 在js页面实现三级联动 在JQuery中调用Ajax方法(引用JQuery文件一定放在最上面) 用插件的形式,创建三个 ...
- php+ajax的三级联动下拉菜单
封装一个三级联动,就可以在任何页面进行引用了 先写个页面引用一下这个js <head> <meta http-equiv="Content-Type" conte ...
随机推荐
- Mysql中比较常用的两种存储引擎和事务
存储引擎:引擎(类似汽车上的发动机)决定了数据库的快慢,MySql中有20多个引擎,不同的存储引擎提供不同的存储机制.索引技巧.锁定水平.MYISAM存储引擎,INNODB存储引擎最出名.数据库的核心 ...
- IMAGE WATCH工具安装与学习
1.下载安装 从下载地址搜索IMAGE WATCH,即可下载自己所需要的IMAGE WATCH工具. 安装ImageWatch,双击ImageWatch.vsix进行安装即可: 2.使用示例 这里首先 ...
- 带权单源最短路发[稠密图](Dijkstra)
对于稠密图,采用邻接矩阵较为合适 所以我们先构建一个邻接矩阵 typedef int Vertex; typedef int WeightType; //图 typedef struct MyGrap ...
- iOS逆向之TheOS
TheOS 被设计为一个在基于 Unix 平台 (Mac OS X.IOS…) 和大多数 的Linux 平台下开发 iOS 程序的集成开发环境.说是集成开发环境,其实就是给我们准备好了一些代码模板.预 ...
- poj3281构图题
题目大意:有F种食物,D种饮料N头奶牛,只能吃某种食物和饮料(而且只能吃特定的一份)一种食物被一头牛吃了之后,其余牛就不能吃了第一行有N,F,D三个整数接着2-N+1行代表第i头牛,前面两个整数是Fi ...
- js函数式编程——蹦床函数
概述 这是我在学习函数式编程的时候,关于递归,尾递归,相互递归和蹦床函数的一些心得,记下来供以后开发时参考,相信对其他人也有用. 参考资料:JavaScript玩转Clojure大法之 - Tramp ...
- Java学习笔记34(集合框架八:综合案例:模拟斗地主的洗牌发牌)
规则: 1.54张扑克牌,有花色 2.顺序打乱,一人一张依次发牌,一人17张,留三张作为底牌 3.看牌:按大小王2A....43的序排列打印 示例: package demo; import java ...
- iOS-AFN Post JSON格式数据
- (void)postRequest{ AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // >>> ...
- Java架构技术进阶之:从分布式到微服务,深挖Service Mesh
自从几十年前第一次引入分布式系统这个概念以来,出现了很多原来根本想象不到的分布式系统使用案例,但同时也引入了各种各样的新问题. 当这些系统还是比较少比较简单的时候,工程师可以通过减少远程交互的次数来解 ...
- Asp.net core 跨域设置
验证环境: dotnet core 2.1/Asp.net core2.1 一.作用域在中间件层 配置的方式是在startup.cs文件Configure(IApplicationBuilder a ...