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 相关文章推荐
javascript css在IE和Firefox中区别分析
Feb 18 Javascript
javascript 处理HTML元素必须避免使用的一种方法
Jul 30 Javascript
Prototype源码浅析 Number部分
Jan 16 Javascript
JS文本框默认值处理详解
Jul 10 Javascript
使用闭包对setTimeout进行简单封装避免出错
Jul 10 Javascript
PHP abstract与interface之间的区别
Nov 11 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
Jan 26 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
Dec 21 Javascript
详解Webpack + ES6 最新环境搭建与配置
Jun 04 Javascript
JavaScript设计模式之享元模式实例详解
Jan 17 Javascript
浅谈redux, koa, express 中间件实现对比解析
May 23 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
Nov 25 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 Socket写的POP3类
2013/10/30 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
js常用代码段收集
2011/10/28 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
JS数组方法concat()用法实例分析
2020/01/18 Javascript
JS实现百度搜索框
2021/02/25 Javascript
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
Python enumerate内置库用法解析
2020/02/24 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
详解Python中的文件操作
2021/01/14 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
实习心得体会
2014/01/02 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
企业务虚会发言材料
2014/10/20 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
医院病假条怎么写
2015/08/17 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
七年级生物教学反思
2016/02/20 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
OpenCV实现常见的四种图像几何变换
2022/04/01 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android