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 相关文章推荐
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 Javascript
javascript中将Object转换为String函数代码 (json str)
Apr 29 Javascript
javascript实现随时变化着的背景颜色
Apr 02 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 Javascript
JS绘制生成花瓣效果的方法
Aug 05 Javascript
js判断日期时间有效性的方法
Oct 24 Javascript
js仿微博动态栏功能
Feb 22 Javascript
ES6中参数的默认值语法介绍
May 03 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
js图片轮播插件的封装
Jul 21 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 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生成静态页面详解
2006/12/05 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
Python统计单词出现的次数
2018/04/04 Python
解决pycharm 误删掉项目文件的处理方法
2018/10/22 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
python 调用Google翻译接口的方法
2020/12/09 Python
JSF如何进行表格处理及取值
2012/08/06 面试题
后勤部长岗位职责
2013/12/14 职场文书
内业资料员岗位职责
2014/01/04 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
《美丽的田园》教学反思
2014/03/01 职场文书
分公司经理任命书
2014/06/05 职场文书
元旦趣味活动方案
2014/08/22 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
不想升级Win11?教你彻底锁定老版Windows系统的方法(附下载地址)
2022/09/23 数码科技