HTML:

<li>
<span>所在地区:</span> <select name="prov" id="ddl_prov" onchange="event_change_prov(this);" class="required" missingmsg="请选择省">
<option value="">请选择省</option>
</select> </li>
<li>
<span></span> <select name="city" id="ddl_city" onchange="event_change_city(this);" class="required" missingmsg="请选择市">
<option value="">请选择市</option>
</select> </li>
<li>
<span></span> <select name="area" id="ddl_area" class="required" missingmsg="请选择区">
<option value="">请选择区</option>
</select> </li>

Javascript:

//省值改变
function event_change_prov(self) {
var value = $(self).val();
if (isEmpty(value)) {
bindDropdownList("ddl_city", [])
} else {
bindArea("ddl_city", value);
}
} //市值改变
function event_change_city(self) {
var value = $(self).val();
if (isEmpty(value)) {
bindDropdownList("ddl_area", [])
} else {
bindArea("ddl_area", value);
}
} //绑定下拉框
function bindDropdownList(targetId, data) {
$("#" + targetId).html("");
var html = "";
if (targetId == "ddl_prov")
{
html="<option value=''>请选择省</option>";
} else if (targetId == "ddl_city") {
html = "<option value=''>请选择市</option>";
} else if (targetId == "ddl_area") {
html = "<option value=''>请选择区</option>";
} else {
html = "<option value=''>请选择</option>";
}
for (var i = 0; i < data.length; i++) {
html = html + "<option value='" + data[i].Value + "'>" + data[i].Text + "</option>";
}
$("#" + targetId).html(html);
} //级联下拉框列表
var ddls = ["ddl_prov", "ddl_city", "ddl_area"]; //绑定地区
function bindArea(id, code) {
if (isEmpty(id) || $("#" + id).length == 0) {return;
}
if (id == "ddl_prov" && isEmpty(code)) {
code = "";
}
Request.get('/XXX/XXX?code=' + code,
function (result) {
bindDropdownList(id, result);
var name = $("#" + id).attr("name");
var or = $("#hid_" + name).val();
if (isEmpty(or)) {return;
}
$("#" + id).val(or);
var ncode = $("#" + id).val();
var index = ddls.indexOf(id);
if (index >= 0 && index < ddls.length - 1) {
var nid = ddls[index + 1];
bindArea(nid, ncode);
}
});
}

Js异步级联选择框实践方法的更多相关文章

  1. Ajax级联选择框

    Ajax级联选择框 级联选择框常用与比较负责的网页开发,例如实现的商品添加页面中,需要选择商品的分类,而分类信息又有层次,例如大分类和小分类就是两层级联,在用户选择商品所属大类时,所属小类的内容需要根 ...

  2. ElementUI 级联选择框 设置最后一级可选及相关问题解决

    在使用 elementUI 的 el-cascader 级联选择框进行省市联动效果时,有这么一个需求:该级联选择框一共有三级结构分别为国家-省份-城市,国家和省份为必选项,城市为可选项.具体实现如下: ...

  3. js控制日期选择框datetime-local和select的展开

    注: js控制元素展开不受元素css属性的限制,例如opacity,z-index等 1. 使用js控制日期选择框的展开 ios: document.querySelector(".targ ...

  4. jquery.chosen.js下拉选择框美化插件项目实例

    由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生 ...

  5. elementUI 级联选择框 表单验证

    今天遇到了一个需求:进行级联选择框的表单验证,突然有点懵逼.感觉应该和正常的表单验证类似,但不是很清晰,后来还是在博客园找到了相关参考文章. 先上代码: <el-form :model=&quo ...

  6. Excel 名称管理器是什么,并实现一个级联选择框

    名称 在 Excel 中,每一个单元格都有自己的名称.表格横向是字母,纵向是数字,组合起来就是一个单元格的名称. A13 所代表的是 A 列,13 行的单元格.把一组单元格组合起来,加上一个名称,在 ...

  7. js省市区级联选择联动

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta http-equiv="Con ...

  8. 用jquery修改默认的单选框radio或者复选框checkbox选择框样式

    默认的radio和checkbox选框很难看.我去看了一下qq注册的页面.发现单选和复选框并没有用<input>,居然是用是A标签.然后用css背景图片展示选择框,用JavaScript控 ...

  9. AngularJS初始化Select选择框

    一.引入 之前一个离职的同事负责的项目大量的引入了AngularJS的JS框架,后来我接手相关他项目里的功能.由于对AngularJS不是太熟,在他的功能上进行二次开发就比较费劲了,印象比较深的一个就 ...

随机推荐

  1. 为自己的Android应用添加广告

    平时也写了不少Android小应用,但是都是做练习之用,从来没有想过添加广告赚钱这一说. 个人是非常反感在应用内添加广告这种行为的,非常影响用户体验,不小心点到广告的话,手机流量哗哗地就没了··· 但 ...

  2. jquery cookie 删除不了的处理办法

    $.cookie(name, null);$.cookie(name, null, {path : "/"}); Jquery Cookie的值直接设置null,并不能直接删除Co ...

  3. Qt历史版本下载

    今天找到一个Qt官方下载任意版本的链接,在这里分享给大家~ http://download.qt.io/archive/qt/ 里面有Qt的历史版本 原文链接http://www.donnyblog. ...

  4. 【2】最简单的Laravel5.1程序分析

    1.上图!说一下laravel的基本MVC(模型-控制器-视图)原理 2.具体分析 用户输入网址localhost:8888之后,首先请求发送到服务器的laravel应用的public目录下index ...

  5. CentoS7装机

    按delete进入BIOS 选择UEFI 网上关于CentOS 7 的安装教程挺多的,但在前期的引导配置上很多都没有写清楚,让人很郁闷,以致于昨天安装的时候总是到不了安装界面.经过一番胡乱倒腾,终于找 ...

  6. CSS实现背景透明/半透明效果的方法

    全透明代码:{background:transparent} 半透明代码:{filter:alpha(opacity=80);-moz-opacity:0.8;width:auto !importan ...

  7. oracle 数据库用户登录相关

    oracle 数据库的安装 : 一: 安装的时候可以设定解锁的用户  一般默认是解锁soctt用户和hr用户  : oracle的超级用户是sysdba这个用户在安装的时候也可以设置密码,一 般自己使 ...

  8. Pyhon之常用操作符 - 零基础入门学习Python006

    Pyhon之常用操作符 让编程改变世界 Change the world by program 今天我们来谈谈Python之常用操作符,在此之前的一些例子中,大家已经看到Python可以完成简单的算术 ...

  9. linux源码安装nodejs

    如何在linux上安装nodejs环境 到网下载安装文件node-v5.10.1-linux-x64.tar.gz.   将源码包上传到linux的/usr/local/node/目录下,在该目录下解 ...

  10. commons.fileupload简单应用

    导入包: commons-fileupload-1.3.1.jar commons-io-2.4.jar commons-fileupload依赖于commons-io,commons-io-2.4必 ...