[Ajax三级联动 无刷新]
三级联动 的效果图

html页面:
<body>
<label class="fl">区域:</label>
<select class="fl selectShort" id="sltProvince">
<option value="0">--省--</option>
</select>
<select class="fl selectShort" id="sltCity">
<option value="0">--市--</option>
</select>
<select class="fl selectShort" id="sltDistrict">
<option value="0">--区县--</option>
</select>
<div class="clear"></div>
</body>
JS
$(document).ready(function () {
//加载省
BindProvince();
//加载市
$("#sltProvince").change(function () {
ProvinceChange();
});
//加载区县
$("#sltCity").change(function () {
CityChange();
});
});
function BindProvince() {
$.get("/CityAjax.ashx?OType=3&RandomNum=" + parseInt(Math.random() * ), function (data) {
if (data != "") {
$("#sltProvince").html("").html("<option value='0'>- 请选择省 -</option>");
$("#sltProvince").append(data);
}
});
}
//市
function ProvinceChange() {
$.ajax({
type: "Post",
url: "/CityAjax.ashx?OType=1&PID=" + $("#sltProvince").val(),
async: false,
dataType: 'html',
success: function (result) {
$("#sltCity").html("").html("<option value='0'>-- 请选择市 --</option>");
$("#sltDistrict").html("").html("<option value='0'>-- 请选择区县 --</option>");
$("#sltCity").append(result);
}
});
}
//县
function CityChange() {
$.ajax({
type: "Post",
url: "/CityAjax.ashx?OType=2&CID=" + $("#sltCity").val(),
async: false,
dataType: 'html',
success: function (result) {
$("#sltDistrict").html("").html("<option value='0'>-- 请选择区县 --</option>");
$("#sltDistrict").append(result);
}
});
}
一般处理程序:
public class CityAjax : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"; string OType = context.Request.QueryString["OType"];
string PID = string.IsNullOrEmpty(context.Request.QueryString["PID"]) ? "" : context.Request.QueryString["PID"]; //省ID
string CID = string.IsNullOrEmpty(context.Request.QueryString["CID"]) ? "" : context.Request.QueryString["CID"];//时ID
string DID = string.IsNullOrEmpty(context.Request.QueryString["DID"]) ? "" : context.Request.QueryString["DID"]; //区县ID
string RtnString = ""; switch (OType)
{
case "":
List<Province_City_District.Models.CityNew> CList = AreaDal.GetAllCityList(); //获取所有的市 var CityItems = from c in CList where c.ProvinceID.ToString() == PID select c;
foreach (var item in CityItems)
{
RtnString += "<option value='" + item.id + "'>" + item.CityName + "</option>";
} break;
case "":
List<Province_City_District.Models.DistrictNew> DList = AreaDal.GetAllDistrictList(); //获取所有的区县 var DistrictItems = from c in DList where c.CityID.ToString() == CID select c;
foreach (var item in DistrictItems)
{
RtnString += "<option value='" + item.ID + "'>" + item.DistrictName + "</option>";
}
break;
case "":
List<Province_City_District.Models.ProvinceNew> PList = AreaDal.GetAllProvinceList(); //获取所有的省
foreach (var item in PList)
{
RtnString += "<option value='" + item.ID + "'>" + item.ProvinceName + "</option>";
}
break;
} context.Response.Write(RtnString);
} public bool IsReusable
{
get
{
return false;
}
}
}
[Ajax三级联动 无刷新]的更多相关文章
- MVC三级联动无刷新
本篇实现有关客户.订单和产品的无刷新三级联动,先看最终效果: 没有选择时,后2个Select状态为禁用: 当选择第1个Select,第2个Select可供选择,第3个Select依旧禁用: 当选择第2 ...
- 使用 AJAX + 三级联动 实现分类出全国各地的省,市,区
使用AJAX + 三级联动 实现分类出全国各地的省,市,区 也可以将下面的显示页面所写的 function循环,封装成js文件,就是在写代码软件里创建一个js文件,就和创建一个HTML或php文件一 ...
- nodejs利用ajax实现网页无刷新上传图片
nodejs利用ajax实现网页无刷新上传图片 标签(空格分隔): nodejs 通常情况下上传图片是要通过提交form表单来实现的,但是这又不可避免的产生了网页转. 利用ajax技术和FormDat ...
- ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动
一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2 ...
- 本篇文章主要是对jquery+ajax+C#实现无刷新操作数据库数据的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
我们知道同步执行和异步执行的区别,为了更好的提高用户的体验,我们都会采用异步方式去处理一些问题,毕竟单线程的同步可能回造成卡死等现象,很不友好,所以可以使用ajax来完成用户的体验,现在我们就来说说如 ...
- ajax完成list无刷新返回
ajax完成list无刷新返回 ajax无刷新技术总结,以下是一段我写的ajax应用的js脚本.其中提交的data刚开始我采用的是$('#formId').serialize();但是出现乱码问题,为 ...
- 菜鸟学Java(七)——Ajax+Servlet实现无刷新下拉联动
下拉联动的功能可以说非常的常用,例如在选择省.市等信息的时候:或者在选择大类.小类的时候.总之,下拉联动很常用.今天就跟大家分享一个简单的二级下拉联动的功能. 大类下拉框:页面加载的时候就初始化大类的 ...
- AJAX 三级联动
新的封装类 <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root"; ...
- ajax三级联动下拉菜单
ajax写三级联动,先写一个文件类吧,以后用的时候直接调用即可: 来找一张表: 实现: 中国地域的三级联动:省.市.区: 图: 说一下思路: (1)当用户选择省份的时候触发事件,把当前的省份的id通过 ...
随机推荐
- JavaMaven【三、常用指令】
mvn compile --编译,编译后生成target文件,里面包含classes mvn test --执行test,测试后在target下生成reports文件夹,测试报告 mvn packag ...
- Win10系统如何利用蓝牙设置动态锁?
很多小伙伴都会有这样的经历,出门之后没走多远,却已然忘记是否锁门,有强迫症的人就会重新返回查看,以确保门是否反锁. 我们在使用电脑时也是这样,遇到事情要临时离开,却忘记是否锁屏,再返回来就耽误时间了. ...
- 【转】awk学习笔记
Awk学习笔记 整理:Jims of 肥肥世家 <jims.yang@gmail.com> Copyright © 2004 本文遵从GPL协议,欢迎转载.修改.散布. 第一次发布时间:2 ...
- 接口测试工具中 post请求如何传递多维数组
1,请求参数为数组时,可以采用传递 json格式的形式传递请求参数(字段及字段对应的值如查是字符,都应该用双引号括起来.用单引号会无法识别),后台接收的数据为json . 2,直接以数组格式来请请求 ...
- 异步消息处理机制相关面试问题-handlerThread面试问题详解
handlerThread产生背景: 开启Thread子线程进行耗时操作,多次创建和销毁线程是很耗系统资源的. handlerThread是什么? handler + thread + looper ...
- Jenkins配置邮件信息
1.进入Manage Jenkins----系统配置 2.设置Jenkins地址和管理员邮箱(不设置管理员邮箱无法发送邮件) 3.配置系统管理员的邮件属性 4.点击[高级]配置系统管理员的邮件属性 5 ...
- Html中使用Cookie取值赋值
//设置Cookie function setCookie(name, value) { var Days = 1; var exp = new Date(); exp.setTime(exp.get ...
- mysqldump --tab=path参数使用
[root@zstedu tmp]# chown -R mysql. /tmp/andyxi3306/ [root@zstedu tmp]# mysqldump -h127.0.0.1 -uroot ...
- Ubuntu 16.04安装docker详细步骤
1. 卸载之前的旧版本 sudo apt-get remove docker docker-engine docker-ce docker.io 2. 更新apt包 sudo apt-get upda ...
- maven项目创7 配置分页插件
页面编写顺序 首先确定是否拥有想要的pojo(对象实体类)———>dao层mybatis配置——>service层的接口及实现类——>controller(web下) 分页插件作 ...