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 相关文章推荐
修改发贴的编辑功能
Mar 07 Javascript
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
May 08 Javascript
js解析与序列化json数据(二)序列化探讨
Feb 01 Javascript
JavaScript设置获取和设置属性的方法
Mar 04 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
Dec 15 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
vue基于mint-ui的城市选择3级联动的示例
Oct 25 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
Jun 10 jQuery
Angular8引入百度Echarts进行图表分析的实现代码
Nov 27 Javascript
js实现图片上传到服务器和回显
Jan 19 Javascript
京东优选小程序的实现代码示例
Feb 25 Javascript
js实现的订阅发布者模式简单示例
Mar 14 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
php基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
PHP的引用详解
2015/02/22 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
Json解析的方法小结
2016/06/22 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
JS中的多态实例详解
2017/10/15 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
使用Python写CUDA程序的方法
2017/03/27 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
测绘工程专业个人自我评价
2013/12/01 职场文书
《散步》教学反思
2014/03/02 职场文书
投资入股合作协议书
2014/10/28 职场文书
党员自评材料范文
2014/12/17 职场文书
工程部经理岗位职责
2015/02/02 职场文书
管理失职检讨书
2015/05/05 职场文书
上课迟到检讨书
2015/05/06 职场文书
教师节祝酒词
2015/08/11 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python
Redis Cluster集群动态扩容的实现
2021/07/15 Redis