js select下拉联动 更具级联性!


Posted in Javascript onApril 17, 2020

之前有过记录,select下拉联动 (Bootstrap、JQuery插件之cxselect)区别在这个级联性更强。

js select下拉联动 更具级联性!

HTML源码:

<!DOCTYPE html> 
<head> 
 <meta charset="utf-8"> 
 <title></title> 
</head> 
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> 
<script type="text/javascript" src="USjs.js"></script> 
<body> 
 
<div class="container"> 
 <table> 
 <tr> 
  <td>厂商:</td> 
  <td><select id="selF"><option>请选择</option></select></td> 
  <td>品牌:</td> 
  <td><select id="selT"><option>请选择</option></select></td> 
  <td>型号:</td> 
  <td><select id="selC"><option>请选择</option></select></td> 
  <td><input type="button" value="查询" id="Button1" class="btn" /></td> 
 </tr> 
 </table> 
</div> 
 
</body> 
</html>

JS(USjs.js)源码: 在转载的基础上做了修改,特别是源数据JSON格式。

$(function(){ 
 
 function objInit(obj){ 
 return $(obj).html('<option>请选择</option>'); 
 } 
 
 $.getJSON('data.json', function(json) { 
 var arrData = json; 
 $.each(arrData,function(pF,pV){ 
  $('#selF').append('<option value="'+pF+'">'+pV.n+'</option>'); 
 }); 
 $('#selF').change(function(){ 
  objInit('#selT'); 
  objInit('#selC'); 
  $.each(arrData,function(pF,pS){ 
  if($('#selF option:selected').attr('value')==pF){ 
   $.each(pS.s,function(pT,pC){ 
   $('#selT').append('<option value="'+pT+'">'+pC.n+'</option>'); 
   }); 
   $('#selT').change(function(){ 
   objInit('#selC'); 
   $.each(pS.s,function(pT,pC){ 
    if($('#selT option:selected').attr('value')==pT){ 
    $.each(pC.s,function(ii,vv){ 
     $('#selC').append('<option value="'+ii+'">'+vv.n+'</option>'); 
    }) 
    } 
   }) 
   }); 
  } 
  }) 
 }); 
 }); //getJSON 
});

JSON(data.json)文件

[ 
 { 
 "n":"厂商1", 
 "s":[ 
  { 
  "n":"品牌一", 
  "s":[{"n":"型号1-1-1"},{"n":"型号1-1-2"}] 
  }, 
  { 
  "n":"品牌二", 
  "s":[{"n":"型号1-2-1"},{"n":"型号1-2-2"}] 
  } 
  ] 
 }, 
 { 
 "n":"厂商2", 
 "s":[ 
  { 
  "n":"品牌一", 
  "s":[{"n":"型号2-1-1"},{"n":"型号2-1-2"}] 
  }, 
  { 
  "n":"品牌二", 
  "s":[{"n":"型号2-2-1"},{"n":"型号2-2-2"}] 
  } 
  ] 
 }, 
 { 
 "n":"厂商3", 
 "s":[ 
  { 
  "n":"品牌一", 
  "s":[{"n":"型号3-1-1"},{"n":"型号3-1-2"}] 
  }, 
  { 
  "n":"品牌二", 
  "s":[{"n":"型号3-2-1"},{"n":"型号3-2-2"}] 
  } 
  ] 
 } 
]

Find more from: //3water.com/article/102040.htm

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE8 下的Js错误HTML Parsing Error...
Aug 14 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
Jan 15 Javascript
javascript显示用户停留时间的简单实例
Aug 05 Javascript
JavaScript中如何通过arguments对象实现对象的重载
May 12 Javascript
js判断文本框剩余可输入字数的方法
Feb 04 Javascript
EasyUI中combobox默认值注意事项
Mar 01 Javascript
jquery不常用方法汇总
Jul 26 Javascript
jQuery实现日期联动效果实例
Jul 26 Javascript
Bootstrap进度条实现代码解析
Mar 07 Javascript
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
基于node.js实现微信支付退款功能
Dec 19 Javascript
JS实现关键词高亮显示正则匹配
Jun 22 Javascript
基于JavaScript实现熔岩灯效果导航菜单
Jan 04 #Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
Jan 04 #Javascript
jquery+ajax实现省市区三级联动效果简单示例
Jan 04 #Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 #Javascript
深入理解Javascript中的valueOf与toString
Jan 04 #Javascript
使用UrlConnection实现后台模拟http请求的简单实例
Jan 04 #Javascript
js实现定时进度条完成后切换图片
Jan 04 #Javascript
You might like
php使用google地图应用实例
2014/12/31 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
python实现类之间的方法互相调用
2018/04/29 Python
python 列表降维的实例讲解
2018/06/28 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
九年级政治教学反思
2014/02/06 职场文书
体育教学随笔感言
2014/02/24 职场文书
七匹狼男装广告词
2014/03/21 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
慰问信范文
2015/02/14 职场文书
Python 用户输入和while循环的操作
2021/05/23 Python
Go中的条件语句Switch示例详解
2021/08/23 Golang
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle