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不是太熟,在他的功能上进行二次开发就比较费劲了,印象比较深的一个就 ...
随机推荐
- JS基础函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块 <script> function demo(){ var a = 10; var b = 25; var sum = a + ...
- Material 字体样式与排版
Material 字体样式与排版 Google Material 设计规范文档 Style– Typography 字号 再好的布局也会被过多的字号和样式会毁掉.要规定好在这个布局上合适的 字号集合 ...
- OC基础 可变字典与不可变字典的使用
OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDiction ...
- 《APUE》读书笔记第十一章-线程
本章主要介绍了线程,了解如何使用多线程在单进程环境中来执行多任务.由于多个线程共享其进程空间,所以必须采用同步的机制来保护数据的一致性. 一.线程的概念 典型的Unix系统都可以看成只有一个控制线程, ...
- Android电子书翻页效果实现
这篇文章是在参考了别人的博客基础上,修改了其中一个翻页bug,并且加了详细注释 先看效果 其中使用了贝赛尔曲线原理,关于贝赛尔曲线的知识,推荐大家看下http://blog.csdn.net/hmg2 ...
- MVC中ActionFilterAttribute用法并实现统一授权
MVC中ActionFilterAttribute经常用来处理权限或者统一操作时的问题. 先写一个简单的例子,如下: 比如现在有一个用户管理中心,而这个用户管理中心需要登录授权后才能进去操作或浏览信息 ...
- tableViewCell 的删除按钮
- (UITableViewCellEditingStyle)tableView:(UITableView*)tableView editingStyleForRowAtIndexPath:(NSIn ...
- layout cannot be resolved or is not a field
去除代码activity代码页面顶部中的 import android.R;这句就可以消除红色波浪线的main cannot be resolved or is not a field类似这个错误了
- C3P0连接池详细配置
C3P0连接池详细配置 转自http://msq.javaeye.com/blog/60387 <c3p0-config> <default-config> <!--当连 ...
- 【转】notepad++设置字体和字体大小
原文网址:http://www.aichengxu.com/view/604 今天很多朋友问我怎么设置notepad++的代码字体和代码字体的大小,习惯了editplus的朋友可能会在notepad+ ...