三级联动 的效果图

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三级联动 无刷新]的更多相关文章

  1. MVC三级联动无刷新

    本篇实现有关客户.订单和产品的无刷新三级联动,先看最终效果: 没有选择时,后2个Select状态为禁用: 当选择第1个Select,第2个Select可供选择,第3个Select依旧禁用: 当选择第2 ...

  2. 使用 AJAX + 三级联动 实现分类出全国各地的省,市,区

    使用AJAX + 三级联动  实现分类出全国各地的省,市,区 也可以将下面的显示页面所写的 function循环,封装成js文件,就是在写代码软件里创建一个js文件,就和创建一个HTML或php文件一 ...

  3. nodejs利用ajax实现网页无刷新上传图片

    nodejs利用ajax实现网页无刷新上传图片 标签(空格分隔): nodejs 通常情况下上传图片是要通过提交form表单来实现的,但是这又不可避免的产生了网页转. 利用ajax技术和FormDat ...

  4. ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动

    一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2 ...

  5. 本篇文章主要是对jquery+ajax+C#实现无刷新操作数据库数据的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    我们知道同步执行和异步执行的区别,为了更好的提高用户的体验,我们都会采用异步方式去处理一些问题,毕竟单线程的同步可能回造成卡死等现象,很不友好,所以可以使用ajax来完成用户的体验,现在我们就来说说如 ...

  6. ajax完成list无刷新返回

    ajax完成list无刷新返回 ajax无刷新技术总结,以下是一段我写的ajax应用的js脚本.其中提交的data刚开始我采用的是$('#formId').serialize();但是出现乱码问题,为 ...

  7. 菜鸟学Java(七)——Ajax+Servlet实现无刷新下拉联动

    下拉联动的功能可以说非常的常用,例如在选择省.市等信息的时候:或者在选择大类.小类的时候.总之,下拉联动很常用.今天就跟大家分享一个简单的二级下拉联动的功能. 大类下拉框:页面加载的时候就初始化大类的 ...

  8. AJAX 三级联动

    新的封装类 <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root"; ...

  9. ajax三级联动下拉菜单

    ajax写三级联动,先写一个文件类吧,以后用的时候直接调用即可: 来找一张表: 实现: 中国地域的三级联动:省.市.区: 图: 说一下思路: (1)当用户选择省份的时候触发事件,把当前的省份的id通过 ...

随机推荐

  1. Hadoop2.7.3集群安装scala-2.12.8 和spark2.7

    Apache Spark™是用于大规模数据处理的统一分析引擎. 从右侧最后一条新闻看,Spark也用于AI人工智能 spark是一个实现快速通用的集群计算平台.它是由加州大学伯克利分校AMP实验室 开 ...

  2. 第十五章、Python多线程之信号量和GIL

    目录 第十五章.Python多线程之信号量和GIL 1. 信号量(Semaphore) 2. GIL 说明: 第十五章.Python多线程之信号量和GIL 1. 信号量(Semaphore) 信号量用 ...

  3. MySQL 高级 视图 事物 触发器 函数 索引优化

    视图 1.什么是视图 ​ 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 ​ 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何用视图 create view t ...

  4. XML刚学会,怎么又出来个YAML!

    XML(eXtensible Markup Language)可扩展标记语言,曾经是IT软件开发界,标记数据.定义数据的大哥大. 很多从事Spring的同学,没少花时间在写XML文件上吧? 不过随着时 ...

  5. HTTPClick调用WebApi帮助类

    1.创建ApiHelper类 2.复制以下代码到类中 using System; using System.Collections.Generic; using System.Linq; using ...

  6. luogu1261 服务器储存信息问题[最短路]

    首先$O(n^2\log n)$暴力很好想,直接每个点出发跑一遍最短路,排$dis$统计一下即可.考虑怎么优化.发现$rank$很小,考虑从$rank$入手.换一种统计方法,看每个点$x$如果作为别的 ...

  7. Android 中WebView中video视频自动播放

    转载于https://juejin.im/post/5d5ac7eb51882562744fae37 如果有使用过Android的WebView 播放视频的伙伴们一定会发现, 在点开视频网页的时候并没 ...

  8. js数据持久化本地数据存储-JSON.parse和JSON.stringify的区别

    JSON.stringify()的作用是将 JavaScript 值转换为 JSON 字符串, 而JSON.parse()可以将JSON字符串转为一个对象. 简单点说,它们的作用是相对的,我用JSON ...

  9. (转载)了解Android 4.1,之三:黄油项目 —— 运作机理及新鲜玩意

    Welcome back to GTKA, everyone's favorite investigative series where we learn all about the newest v ...

  10. composer.json文件解读

    composer.json文件内容 laravel { "name": "laravel/laravel", //name 表示包的名称,由作者名和项目名组成, ...