【2017-06-06】Ajax完整结构、三级联动的制作
一、Ajax完整结构
$.ajax({
url:"Main.ashx",
data:{},
dataType:"json",
type:"post",
async:false, //异步功能,默认是true,改为false就把异步关闭了
success:function(msg){
},
error:function(){ //服务端路径错误,服务端出错,服务端没有返回规定的json格式数据都会走error
},
beforeSend:function(){ //在发送之前执行这里的内容,可以限制用户重复提交请求。
$("#btn1").attr("disabled","disabled");
$("btn1").val("加载中...");
},
complete:function(){ //在ajax返回数据后回调,不管返回的数据是否正确都会回调
$("#btn1").removeAttr("disabled");
$("btn1").val("加载数据");
}
});
二、三级联动的制作
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="js/jquery-1.7.1.min.js"></script>
<style type="text/css">
.states {
width:100px;
height:30px; }
</style>
</head>
<body>
<select class="states" id="province"></select>
<select class="states" id="city"></select>
<select class="states" id="county"></select>
</body>
</html>
<script type="text/javascript"> statesload(""); //加载数据的方法:
function statesload(a) {
if (a == "")
{
//加载省
$.ajax({
url: "Area.ashx",
data: { "pcode": "" },
type: "post",
dataType: "json",
success: function (msg) {
//先把<select></select>中的选项清空
$("#province").empty();
for (var i in msg)
{
var str="<option value='"+msg[i].areacode+"' >"+msg[i].areaname+"</option>"
$("#province").append(str);
}
//在加载完省以后再加载市
statesload("");
},
beforeSend: function () {
$("#province").append("<option value='null'>加载中...</option>");
},
complete: function () { }
});
}
if (a == "")
{
//加载市
$.ajax({
url: "Area.ashx",
data: { "pcode": $("#province").val() },
type: "post",
dataType: "json",
success: function (msg) {
$("#city").empty();
for (var i in msg) {
var str = "<option value=\"" + msg[i].areacode + "\" >" + msg[i].areaname + "</option>"
$("#city").append(str);
}
//加载完市以后再加载区县
statesload("");
},
beforeSend: function () {
$("#city").empty();
$("#city").append("<option value='null'>加载中...</option>");
},
complete: function () { }
}); }
if (a == "")
{
//加载区县
$.ajax({
url: "Area.ashx",
data: { "pcode": $("#city").val() },
type: "post",
dataType: "json",
success: function (msg) { $("#county").empty();
for (var i in msg) {
var str = "<option value=\"" + msg[i].areacode + "\" >" + msg[i].areaname + "</option>"
$("#county").append(str);
}
},
beforeSend: function () { $("#county").empty();
$("#county").append("<option value='null'>加载中...</option>"); }
});
}
} $("#province").change(function () {
statesload("");
}); $("#city").change(function () {
statesload("");
}); </script>
三级联动界面和Jquery
<%@ WebHandler Language="C#" Class="Area" %> using System;
using System.Web;
using System.Collections.Generic;
using System.Linq;
using System.Text; public class Area : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
//先睡上2秒再执行,模拟一下网速卡。
System.Threading.Thread.Sleep();
string id = context.Request["pcode"];
StringBuilder str = new StringBuilder();
int count=; str.Append("["); using (Data0216DataClassesDataContext con = new Data0216DataClassesDataContext())
{
List<ChinaStates> clist = con.ChinaStates.Where(r => r.ParentAreaCode == id).ToList(); foreach (ChinaStates c in clist)
{
if (count > ) str.Append(",");
str.Append("{\"areaname\":\"" + c.AreaName + "\",\"areacode\":\"" + c.AreaCode + "\"}");
count++;
}
} str.Append("]");
context.Response.Write(str);
context.Response.End(); } public bool IsReusable
{
get
{
return false;
}
} }
一般处理程序
【2017-06-06】Ajax完整结构、三级联动的制作的更多相关文章
- Ajax完整结构和删除
1.ajax完整结构 注意:(1)最后一个没有"," (2)ajax对网速要求高,最好有各种提示和使用按钮(可使其失效,防止重复加载) $.ajax({ url: "aj ...
- 第117天:Ajax实现省市区三级联动
Ajax实现省市区三级联动 思路: (1)首先获取省份信息 (2)发起Ajax请求,注意dataType中的T大写 (3)封装回调函数,回调函数success中用$.each循环每一条数据,动态创建o ...
- Ajax 案例之三级联动
每次在博客园网站写博客,格式真的好难搞,还望好心人告知更好的编辑工具.接下来进入正题:三级联动(其效果演示可看我的博文Ajax 学习总结 末尾). 数据表设计(Oracle) 新建数据表 Employ ...
- ajax完整结构
$.ajax({ url:"服务器", data:{"key":所传数据}, type:"post", dataType:"jso ...
- Ajax案例:三级联动查询员工的信息(三张表进行内连接)
需求分析: 通过数据库连接池,可以查询到数据库中员工的各种信息,通过点击下拉框的方式实现三级联动,即:没有点击city下拉框,后面两个下拉框中没有值,这样,点击city下拉框,department下拉 ...
- 基于ThinkPHP+AJAX的省市区三级联动
练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...
- 基于thinkphp和ajax的省市区三级联动
练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...
- AJAX省市县三级联动的实现
省市县数据 本例子中省市县数据保存在MySQL数据库中,部分数据截图如下: 从数据库中读取数据 导入需要的jar包 连接池配置文件 <c3p0-config> <!-- 默认配置,如 ...
- jquery+php+mysql实现Ajax省市县三级联动
1.第一步建立一个html页面的,放置省.市.县三个select选择框,代码如下: <!DOCTYPE html> <html> <head> <title& ...
随机推荐
- Aggregate累加器
今天看东西的时候看见这么个扩展方法Aggregate(累加器)很是陌生,于是乎查了查,随手记录一下.直接看一个最简答的版本,其他版本基本没什么区别,需要的时候可看一下 public static TS ...
- java异常处理机制(try-catch-finally)
/* * 异常处理机制 * 1.分类:Error和Exception * Error错误是JVM自动报错的,程序员无法解决例如开数组过大int a[]=new int [1024*1024*1024] ...
- CentOS6.5 配置本地Yum源
一.Yum简介 1.Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器. 2.基于RPM包管理, ...
- 图解WebGL&Three.js工作原理
“哥,你又来啦?”“是啊,我随便逛逛.”“别介啊……给我20分钟,成不?”“5分钟吧,我很忙的.”“不行,20分钟,不然我真很难跟你讲清楚.”“好吧……”“行,那进来吧,咱好好聊聊” 一.我们讲什么? ...
- python自动化测试应用-第7篇(WEB测试)--Selenium进阶篇
篇7 python自动化测试应用-Selenium进阶篇 --lamecho 1.1概要 大家好!我是lamecho(辣么丑),本篇文章将是我们介 ...
- sass入门学习篇(一)
先简单的介绍一下sass,如果你了解less,sass就没什么太大问题 Sass 是对 CSS 的扩展,让 CSS 语言更强大.优雅. 它允许你使用变量.嵌套规则. mixins.导入等众多功能, 并 ...
- CSS垂直和水平居中
在css中,居中使用十分频繁. 居中分为水平和垂直居中 水平居中十分简单: body{ background:#f90; } body统一为这个颜色 div { margin:0 auto; back ...
- static class - 静态类
通常一个普通类不允许声明为静态的,只有一个内部类才可以.这时这个声明为静态的内部类可以直接作为一个普通类来使用,而不需实例一个外部类. 如下代码所示: 1 public class StaticCls ...
- npm 常用命令详解
本文以Windows平台上做测试,以gulp为示例做教程,出自作者白树,转载请声明出处! 目录 npm是什么 npm install 安装模块 npm uninstall 卸载模块 npm updat ...
- Windows下主机名和IP映射设置
如果需要添加域名和IP的对应关系可以在以下地方进行修改. 打开系统目录:c:/windows/system32/drivers/etc找到hosts文件,打开hosts文件并在最后面添加一条记录 例如 ...