JQuery实现级联下拉框效果实例讲解


Posted in Javascript onSeptember 17, 2015

用JQuery和select来实现汽车厂商和汽车类型的联动,参考过程如下
效果图:

     JQuery实现级联下拉框效果实例讲解

逻辑分析图:

JQuery实现级联下拉框效果实例讲解

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实现级联下拉框的小例子,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Locate a File Using a File Open Dialog Box
Jun 18 Javascript
js 分栏效果实现代码
Aug 29 Javascript
JavaScript原生对象之Number对象的属性和方法详解
Mar 13 Javascript
jquery滚动到顶部底部代码
Apr 20 Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 Javascript
适用于手机端的jQuery图片滑块动画
Dec 09 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
vue-cli webpack 引入jquery的方法
Jan 10 jQuery
JSON数据中存在单个转义字符“\”的处理方法
Jul 11 Javascript
Layui数据表格之单元格编辑方式
Oct 26 Javascript
vue中的使用token的方法示例
Mar 10 Javascript
JS+CSS实现精美的二级导航效果代码
Sep 17 #Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
Sep 17 #Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 #Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
Sep 17 #Javascript
jQuery实现折叠、展开的菜单组效果代码
Sep 16 #Javascript
ANGULARJS中使用JQUERY分页控件
Sep 16 #Javascript
js实现tab切换效果实例
Sep 16 #Javascript
You might like
header导出Excel应用示例
2014/01/24 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
JavaScript QueryString解析类代码
2010/01/17 Javascript
基于jquery的loading效果实现代码
2010/11/05 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
vue-cli的eslint相关用法
2017/09/29 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
python检测远程端口是否打开的方法
2015/03/14 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
给领导的检讨书
2014/02/16 职场文书
大学生工作自荐书
2014/06/16 职场文书
中国梦读书活动总结
2014/07/10 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
三方协议书
2015/01/27 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android