Js异步级联选择框实践方法
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异步级联选择框实践方法的更多相关文章
- Ajax级联选择框
Ajax级联选择框 级联选择框常用与比较负责的网页开发,例如实现的商品添加页面中,需要选择商品的分类,而分类信息又有层次,例如大分类和小分类就是两层级联,在用户选择商品所属大类时,所属小类的内容需要根 ...
- ElementUI 级联选择框 设置最后一级可选及相关问题解决
在使用 elementUI 的 el-cascader 级联选择框进行省市联动效果时,有这么一个需求:该级联选择框一共有三级结构分别为国家-省份-城市,国家和省份为必选项,城市为可选项.具体实现如下: ...
- js控制日期选择框datetime-local和select的展开
注: js控制元素展开不受元素css属性的限制,例如opacity,z-index等 1. 使用js控制日期选择框的展开 ios: document.querySelector(".targ ...
- jquery.chosen.js下拉选择框美化插件项目实例
由于之前使用的bootstrap-select插件是建立在bootstrap基础上的,实际使用到项目中的时候,与我们使用的ace-admin(基于bootstrap)存在样式冲突,导致下拉框的样式发生 ...
- elementUI 级联选择框 表单验证
今天遇到了一个需求:进行级联选择框的表单验证,突然有点懵逼.感觉应该和正常的表单验证类似,但不是很清晰,后来还是在博客园找到了相关参考文章. 先上代码: <el-form :model=&quo ...
- Excel 名称管理器是什么,并实现一个级联选择框
名称 在 Excel 中,每一个单元格都有自己的名称.表格横向是字母,纵向是数字,组合起来就是一个单元格的名称. A13 所代表的是 A 列,13 行的单元格.把一组单元格组合起来,加上一个名称,在 ...
- js省市区级联选择联动
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta http-equiv="Con ...
- 用jquery修改默认的单选框radio或者复选框checkbox选择框样式
默认的radio和checkbox选框很难看.我去看了一下qq注册的页面.发现单选和复选框并没有用<input>,居然是用是A标签.然后用css背景图片展示选择框,用JavaScript控 ...
- AngularJS初始化Select选择框
一.引入 之前一个离职的同事负责的项目大量的引入了AngularJS的JS框架,后来我接手相关他项目里的功能.由于对AngularJS不是太熟,在他的功能上进行二次开发就比较费劲了,印象比较深的一个就 ...
随机推荐
- SSH 服务启动时出现如下错误:fatal: Cannot bind any address
注意:本文相关配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 问题描述 云服务器 ECS (Elast ...
- OWIN初探(转)
什么是 OWIN ? OWIN 的全称是 "Open Web Interface for .NET", OWIN 在 .NET Web 服务器和 .NET Web 应用之间定义了一 ...
- Android -------- 使手机状态栏背景颜色和activity的一致
Activity类中: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta ...
- Windows命令行(DOS命令)教程 -1 (转载) http://www.pconline.com.cn/pcedu/rookie/basic/10111/15325.html
一.命令行简介 命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序. 在这里,先解释什么是DOS? DOS--Disk Operation System 磁盘 ...
- mongodb内嵌文档的查询
本文转自:http://blog.163.com/wm_at163/blog/static/1321734902012526103825481/ 1 > db.blog.findOne() { ...
- VC中窗口ID,句柄,指针三者相互转换函数【转】
ID--HANDLE--HWND三者之间的互相转换id->句柄 hWnd = ::GetDlgItem(hParentWnd,id);id->指针 CWnd:: ...
- phpMyAdmin中mysql的创建数据库时的编码的问题
转载自新浪博客 Sean 一. mysql中utf8编码的utf8_bin,utf8_general_cs,utf8_general_ci的区别 utf8_general_ci 不区分大小写,这 ...
- C++之------进制学习
碰到一些寄出的东西不是很理解,就是关于多进制在代码中的转换: 比喻一个数number的多进制表示方法:B:二进制 Q:八进制 D:十进制 H:十六进制 二进制:0bnumber ( ...
- android 导航布局
http://blog.csdn.net/wangjinyu501/article/details/8140588 http://www.cnblogs.com/hanyonglu/archive/2 ...
- DJANGO学习一则
这个WEB框架,可以好好研究,相信很快就会用在工作上的. 相关文件: settings.py """ Django settings for djangoweb proj ...