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 相关文章推荐
javascript Zifa FormValid 0.1表单验证 代码打包下载
Jun 08 Javascript
基于jquery的让页面控件不可用的实现代码
Apr 27 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
Jun 04 Javascript
vue.js表格组件开发的实例详解
Oct 12 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
Jun 02 Javascript
js获取文件里面的所有文件名(实例)
Oct 17 Javascript
基于jquery实现五星好评
Nov 18 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
关于Angularjs中跨域设置白名单问题
Apr 17 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
Apr 22 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
基于JavaScript实现轮播图效果
Jan 02 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
php二分法在IP地址查询中的应用
2008/08/12 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
php制作中间带自己定义图片二维码的方法
2014/01/27 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
Python3基础之基本数据类型概述
2014/08/13 Python
Python使用剪切板的方法
2017/06/06 Python
基于python socketserver框架全面解析
2017/09/21 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
python代码区分大小写吗
2020/06/17 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
python 如何区分return和yield
2020/09/22 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
详解rem 适配布局
2018/10/31 HTML / CSS
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
实习自我鉴定
2013/12/15 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
学生干部培训方案
2014/06/12 职场文书
机关党员公开承诺书
2014/08/30 职场文书
新教师培训心得体会
2014/09/02 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript