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 相关文章推荐
ASP Json Parser修正版
Dec 06 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
Dec 06 Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
倒记时60刷新网页的js代码
Feb 18 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
May 15 Javascript
js canvas实现擦除动画
Jul 16 Javascript
JS简单实现tab切换效果的多窗口显示功能
Sep 07 Javascript
微信小程序 火车票查询实例讲解
Oct 17 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
Dec 24 Javascript
极简主义法编写JavaScript类
Nov 02 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 Javascript
原生JS实现京东查看商品点击放大
Dec 21 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
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
vue element upload实现图片本地预览
2019/08/20 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python中使用序列的方法
2015/08/03 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
如何给Python代码进行加密
2020/01/10 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
python怎么判断模块安装完成
2020/06/19 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
美国在线印刷公司:PsPrint
2017/10/12 全球购物
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
职业规划实施方案
2014/06/10 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
浅析Python中的随机采样和概率分布
2021/12/06 Python