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不是太熟,在他的功能上进行二次开发就比较费劲了,印象比较深的一个就 ...
随机推荐
- <.net>委托初探
最近在学<.net深入体验与实战精要>. 今天就来初步讲解下委托. 一句话:委托定义了方法类型,可以将方法当做另一个方法的参数进行传递.委托包涵的只是方法的地址,而不是数据.类似于c指针. ...
- ie8 hack
1.‘\9’: eg:.test { color/*\**/: blue\9 }.header {width:300px;} /* 所有浏览器*/.header {width/*\**/:330px\ ...
- scala中的view bound与context bound
1.scala中的<%意识是“view bounds”(视界) ,它比<:的使用范围更广,还能进行隐式转换,是一种语法糖. 下面的两种写法是等效的,在编译之后完全一样. object Te ...
- FineUI表单验证
自动编码文本 默认情况下,Label的EncodeText属性为true,会对文本中的HTML进行编码.当然我们也可以设置EncodeText=false,从而将HTML片段赋值给Text属性,请看这 ...
- asp.net 正则表达式
在平时的开发中常常用到替换法: 普通的字符串替换可以使用string.replace(string,string),但是比较难解决HTML文本的替换. 经我几番查找,终也找出解决办法:正则匹配替换. ...
- iOS — Autolayout之Masonry解读
前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时 ...
- C++深层复制解决指针悬挂
代码: #include <iostream> #include <cstring> using namespace std; class mystring{ public: ...
- OpenCV——ANN神经网络
ANN-- Artificial Neural Networks 人工神经网络 //定义人工神经网络 CvANN_MLP bp; // Set up BPNetwork's parameters Cv ...
- 在msvc中使用Boost.Spirit.X3
Preface “Examples of designs that meet most of the criteria for "goodness" (easy to unders ...
- c++ 编译期计算 (一)
编译期就是编译器进行编译,产生.obj文件的所处的那一段时间(如果是广义的编译期,那么一般还包括了链接期,因为现在很多编译器都会自动调用链接器进行链接)执行期就是你执行某个已经链接好的程序的那段时间. ...