基于jQuery的三级Select下拉联动实现
作者:工具松鼠时间:2026-10-21 19:47:27浏览:375
本文介绍如何使用jQuery和JSON数据实现HTML中Select下拉框的三级级联功能。通过加载data.json文件,动态填充厂商、品牌及型号选项,并在用户选择时自动更新后续下拉框内容,实现更强大的级联交互效果。
Select三级级联功能概述
此前曾介绍过select下拉联动功能,与Bootstrap及JQuery插件cxselect相比,本方案在级联逻辑上更为完善。

HTML源码如下:
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格式结构。
JS逻辑与数据处理
$(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)文件内容如下:
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: //www.jb51.net/article/102040.htm
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
作者最新文章
WebStorm内置JS代码格式化功能怎么用
2026-11-05 10:10:47
在线JS代码格式化与混淆压缩工具推荐及使用指南
2026-11-03 20:31:53
CodePen、JSFiddle与RunJS对比:哪款在线JavaScript编辑器更好用
2026-11-03 18:52:45
无需安装环境,5款主流JavaScript在线运行工具推荐
2026-11-03 18:23:26
JS怎么将地址栏查询字符串转换为JSON对象
2026-11-03 18:10:29
相关标签:
