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 相关文章推荐
jQuery学习笔记 获取jQuery对象
Sep 19 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
Nov 30 Javascript
javascript中的self和this用法小结
Feb 08 Javascript
JavaScript中的方法调用详细介绍
Dec 30 Javascript
Javascript实现的简单右键菜单类
Sep 23 Javascript
基于jQuery实现照片墙自动播放特效
Jan 12 Javascript
利用n工具轻松管理Node.js的版本
Apr 21 Javascript
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
vue组件实现可搜索下拉框扩展
Oct 23 Javascript
js实现简单模态框实例
Nov 16 Javascript
vuex actions异步修改状态的实例详解
Nov 06 Javascript
详解vue中v-for的key唯一性
May 15 Vue.js
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 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
PHP加密解密类实例分析
2015/04/20 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
PHP 实现缩略图
2021/03/09 PHP
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
Python API自动化框架总结
2019/11/12 Python
python 基于opencv操作摄像头
2020/12/24 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
室内设计专业学生的自我评价分享
2013/11/27 职场文书
高中学生期末评语
2014/04/25 职场文书
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
老干部座谈会主持词
2015/07/03 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫