JQuery实现级联下拉框效果实例讲解
作者:bea
用JQuery和select来实现汽车厂商和汽车类型的联动,参考过程如下 效果图: 逻辑分析图: html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&g
用JQuery和select来实现汽车厂商和汽车类型的联动,参考过程如下
效果图:
逻辑分析图:
html代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>级联下拉框效果</title>
<link rel="stylesheet" type="text/css" href="css/chainselect.css">
<script language="javascript" type="text/javascript" src="js/jquery.js"></script>
<script language="javascript" type="text/javascript" src="js/chainselect.js"></script>
</head>
<body>
<div class="car">
<span class="carname">
汽车厂商:
<select>
<option value="">请选择汽车厂商</option>
<option value="BMW">宝马</option>
<option value="Audi">奥迪</option>
<option value="VW">大众</option>
</select>
<img src="images/pfeil.gif" alt="有数据"/>
</span>
<span class="cartype">
汽车类型:
<select></select>
</span>
</div>
</body>
</html>
css代码:
.car {
text-align:center;
}
.cartype{
display:none;
}
js代码:
$(document).ready(function(){
//找到下拉框
var carnameSelect = $(".carname").children("select");
var cartypeSelect = $(".cartype").children("select");
//给下拉框注册事件
carnameSelect.change(function(){
var carnameValue = $(this).val();
if( carnameValue != ""){
//carnameValue不为空的情况接着判断
if(!carnameSelect.data(carnameValue)){
//不在缓冲区中,需要向服务器请求
$.post("ChainSelect",{keyword:carnameValue,type:"top"},function(data){
if (data.length != 0){
//返回的数据不为空
cartypeSelect.html("");
$("<option value='>请选择汽车类型</option>").appendTo(cartypeSelect);
for(var i = 0;i < data.length; i++ ){
$("<option value = + data[i] + > "+ data[i] +"</option>").appendTo(cartypeSelect);
}
cartypeSelect.parent().show();
carnameSelect.next().show();
}else{
//返回的数据为空
cartypeSelect.parent().hide();
carnameSelect.next().hide();
}
carnameSelect.data(carnameValue,data);
},"json");
}else{
//在缓冲区中
var data = carnameSelect.data(carnameValue);
if (data.length != 0){
//返回的数据不为空
cartypeSelect.html("");
$("<option value='>请选择汽车类型</option>").appendTo(cartypeSelect);
for(var i = 0;i < data.length; i++ ){
$("<option value = + data[i] + > "+ data[i] +"</option>").appendTo(cartypeSelect);
}
cartypeSelect.parent().show();
carnameSelect.next().show();
}else{
//返回的数据为空
cartypeSelect.parent().hide();
carnameSelect.next().hide();
}
}
}else{
//carnameValue为空的情况,隐藏第二个下拉框
cartypeSelect.parent().hide();
carnameSelect.next().hide();
}
});
});
如果大家还想深入学习,可以点击jquery下拉框效果汇总、JavaScript下拉框效果汇总进行学习。
以上就是利用JQuery和select实现级联下拉框的小例子,希望对大家的学习有所帮助。
猜你喜欢
您可能感兴趣的文章:
- JS实现仿雅虎首页快捷登录入口及导航模块效果
- JS实现的不规则TAB选项卡效果代码
- JS实现兼容性好,带缓冲的动感网页右键菜单效果
- JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
- jQuery采用连缀写法实现的折叠菜单效果
- JS+CSS实现TreeMenu二级树形菜单完整实例
- JS实现黑色大气的二级导航菜单效果
- 11种ASP连接数据库的方法
- jquery实现隐藏在左侧的弹性弹出菜单效果
- JS+CSS实现简易实用的滑动门菜单效果
- JS实现很实用的对联广告代码(可自适应高度)
- jQuery实现可用于博客的动态滑动菜单完整实例
- jquery实现仿Flash的横向滑动菜单效果代码
- JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
- JQuery标签页效果的两个实例讲解(4)
- JS实现具备延时功能的滑动门菜单效果
- JQuery菜单效果的两个实例讲解(3)
- JQuery实现可编辑的表格实例讲解(2)
- JQuery入门基础小实例(1)