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 ...
随机推荐
- ios Block详解
一. iOS代码块Block 1.1 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返回值, ...
- springsecurity 源码解读之 SecurityContext
在springsecurity 中,我们一般可以通过代码: SecurityContext securityContext = SecurityContextHolder.getContext(); ...
- discover功能--自动发现主机
discover功能,让监控的管理更加管理和自动化,现在来演示下如何使用discover功能自动发现主机 1.配置discover 2.在被侦测机上安装zabbix agent 安装完成后,修改配置( ...
- Web API使用HttpResponseMessage与HttpResponseException的差异 HttpResponseMessage 返回类型
在 Web API 中提供了 HttpResponseMessage 与 HttpResponseException 用于处理返回讯息,HttpResponseMessage 用于返回一个来自于客户端 ...
- ASP.NET MVC5 及 EF6 学习笔记 - (目录整理)
个人从传统的CS应用开发(WPF)开始转向BS架构应用开发: 先是采用了最容易上手也是最容易搞不清楚状况的WebForm方式入手:到后面就直接抛弃了服务器控件的开发方式,转而采用 普通页面+Ajax+ ...
- 利用IP核设计高性能的计数器
利用Quartus II的LPM_counter IP核进行设计(利用IP核设计可以迅速高效的完成产品的设计) 新建工程 调用IP核 创建一个新的IP核 选择LMP_COUNTER,语言类型,输出路径 ...
- 3 week work—Grid Layout
HTML: <div class="wrapper"> //建立一个三列轨道网格. <div class="one">One</d ...
- 背水一战 Windows 10 (67) - 控件(控件基类): DependencyObject - CoreDispatcher, 依赖属性的设置与获取, 依赖属性的变化回调
[源码下载] 背水一战 Windows 10 (67) - 控件(控件基类): DependencyObject - CoreDispatcher, 依赖属性的设置与获取, 依赖属性的变化回调 作者: ...
- 机器学习&深度学习之路
计划最近好好按步骤按阶段系统性的学习下机器学习和深度学习,希望能坚持下去. 2019-01-05 基于TensorFlow的深度学习系列教程 2--常量Constant 2019-01-03 深度学习 ...
- 开源播放器 ijkplayer (一) :使用Ijkplayer播放直播视频
1.ijkplayer 编码 IjkPlayer支持硬解码和软解码. 软解码时不会旋转视频角度这时需要你通过onInfo的what == IMediaPlayer.MEDIA_INFO_VIDEO_R ...