在实际的javascript项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等。我们今天就来讲解一下javascript实现三级联动,还有javascript源码分享给大家哦!不太熟悉javascript实现三级联动的可以和我们一起看看!
知识点:
1. json.parse() 将json格式字符串转换成对象。json.stringify()将对象转换成json格式字符串。
2. 重要属性selectedIndex:返回下拉列表的被选选项的索引号。
3. onchange事件
立即学习“Java免费学习笔记(深入)”;
下面是代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>三级联动</title>
</head>
<body>
<select id="province">
<!-- <option>北京</option>
<option>天津</option> -->
</select>
<select id="city"></select>
<select id="count"></select>
<script type="text/javascript" src="china.js"></script>
<script type="text/javascript">
var province = document.getElementById("province");
var city = document.getElementById("city");
var count = document.getElementById("count");
var chinaArea = JSON.parse(chinaArea);//将字符串格式的json数据转换成对象
// var chinaArea = eval("("+chinaArea+")");
// var chinaArea = new Function("return " + chinaArea)();
//1.遍历省份
var provinceList = chinaArea.china.province;//数组
for(var i = 0 ; i < provinceList.length; i++) {
var option = document.createElement("option");
option.innerHTML = provinceList[i]["-name"];
province.appendChild(option);
}
province.onchange = function() {
//选择省份之后,市区跟着变化
cityData();
countData();
}
cityData();
//市区的数据填充
var sIndex = 0;
var cityIndex = 0;
function cityData() {
//清除原来的市区信息
city.innerHTML = "";
//2.遍历市区
sIndex = province.selectedIndex;//设置或返回下拉列表备选选项的索引号。
for(var j = 0; j < provinceList[sIndex].city.length;j++) {
var option = document.createElement("option");
option.innerHTML = provinceList[sIndex].city[j]["-name"];
city.appendChild(option);
}
}
//县区数据填充
function countData() {
//清除原来的县区信息
count.innerHTML = "";
//
cityIndex = city.selectedIndex;
var countList = chinaArea.china.province[sIndex].city[cityIndex].county;
for(var k = 0; k < countList.length; k++) {
var option = document.createElement("option");
option.innerHTML = countList[k]["-name"];
count.appendChild(option);
}
}
city.onchange = function() {
countData();
}
countData();
</script>
</body>
</html>大家可以结合源码和知识点看看!尝试着自己写写,加强一下自己的知识面!
相关推荐:
以上就是使用JavaScript简单实现三级联动的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号