js中的二级联动技术的实现
来源:互联网 发布:php网上订餐系统源码 编辑:程序博客网 时间:2024/05/16 12:47
在web开发中我们经常会遇到页面的一个二级联动技术,二级联动字面解释就是说我在选择一级select不同的option,下面的二级option的属性值在进行相应的变动。
下面我先简述一下其中的原理,最后我们再贴代码。
首先一级和二级是两个<select>标签。一级<select>标签的<option>发生变化的时候,二级<select>的option就会发生变化,我们首先做的是在一级<select>标签中加入 “onchange()”方法,来进行二级<select>中<option>属性值的获取。这里需要注意的是,每次一级<selelct>发生变化的时候,二级的所有<option>的属性值都需要去除,不去除的后果,大家可以自己去做一下看看,毕竟实践出真知。获取相对应的二级<select>中<option>的属性值后,我们做的就是创造<option>了。
下面上代码了
<h2>一级部门:<select id="superdept" onchange="getsecond()">
<option>选择一级部门</option>
<option value="1">A部门</option>
<option value="2">B部门</option>
<option value="3">C部门</option>
</select><br><h2>
<h2>二级部门:<select id="dept">
</select><br><h2>
function getsecond(){
var superdept = $("#superdept option:selected").attr("value"); //获取一级部门选中的<option>的属性value
$.ajax({ //AJAX获取二级的部门信息。 注意:这里的ajax采用的是jquery里面的方法,使用前需要导入jquery库。
url:'GetSeconds',
type:'POST',
dataType:'JSON',
data:{
superdept:superdept
},
success:function (res){
var dept = document.getElementById("dept") //获取二级
var deptlength = dept.options.length;
if(deptlength >0){ //去除二级的<optioin>的属性值
for( var j=0;j<deptlength;j++){
dept.options.remove(0)
}
}
var tt = eval(res); //这边是以json格式返回的,所以要转为数组
for(var i = 0;i<tt.length;i++){ //创建二级的<option>
addoption(tt[i].departmentinfoid,tt[i].departmentname)
}
}
})
}
function addoption(value,text){
var opt = document.createElement("option")
opt.value = value
opt.text = text
dept.options.add(opt)
}
这里有个要注意的是addoption() 里面有个dept有可能会报没有定义的错误,如果会发生这个错误,可以将addoption()整合到getsecond()方法里面去
- js中的二级联动技术的实现
- js二级联动的实现
- js 实现二级联动
- js实现二级联动
- JS实现二级联动
- js实现二级联动
- 实现二级联动菜单的技术细节
- jsp+js实现的二级联动菜单
- jsp+js实现的二级联动菜单
- 关于js二级联动的实现
- js实现省市二级联动
- js 实现 二级联动菜单
- js实现二级下拉联动
- js实现二级联动菜单
- js实现注册、二级联动
- JQuery技术初探之二级联动的设计与实现
- 省市二级联动的js
- 简单的js二级联动
- CME-M5系列(三)——Primace下载安装
- 使用UITableViewCell子类是出现的问题
- spring boot 连接池配置
- 深度学习与meanshift结合实现跟踪
- iOS多线程(2)基本使用
- js中的二级联动技术的实现
- Eclipse批量修改包名
- Mac配置maven环境
- ssh hibernate struts spring 工作原理及为什么要用
- Hbase创建表报错:ERROR: java.io.IOException: Table Namespace Manager not ready yet, try again later
- Intent数据传递,详解(转)
- Python selenium爬虫
- 1046,划拳,PAT
- Android NDK报错(Eclipse)及解决方法