用jquery实现三级联动

本文介绍了如何在页面加载时预设省份选择,并通过jQuery监听省份和城市下拉框的change事件,实现在选择变化时清空并动态填充后续下拉框的内容,从而达到三级联动的交互效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果
1、页面加载是需要有选择省份
2、编写省份下拉框change事件
3、编写城市区域下拉框change事件
4、省市的下拉框更改时要将后面的下拉框清空
实现代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>三级联动</title>
    <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
    <script type="text/javascript">
        //创建三维数组
        var lists = new Array(2);

        lists["湖北省"] = ["武汉市","天门市"];
        lists["湖北省"]["武汉市"] =["江夏区","洪山区","青山区","黄陂区"];
        lists["湖北省"]["天门市"] = ["竟陵街道","九真镇","渔薪镇","皂市镇"];
        lists["湖南省"] =["长沙市","韶山市"];
        lists["湖南省"]["长沙市"] = ["芙蓉区","天心区","岳麓区","开福区"];
        lists["湖南省"]["韶山市"] =["清溪镇","银田镇","如意镇"];
        //创建$工厂函数用来制作省份的下拉框
      $(function(){
          //创建一个节点用pp接收
          var pp='<option value="请选择省份">请选择省份</option>';
          //将节点加到id为province的下拉框里
          $("#province").append(pp);
          //遍历省份并将省份放到下拉框里
            for (var provinceMe in lists){
                //将省份放到下拉框里
                $("#province").append('<option value='+provinceMe+'>'+provinceMe+'</option>');
            }
      })
        //制作城市的下拉列表框
        function provinceSelect(cc){
            //当选择省份的时候清空城市和区域
            $("#city").empty();
            $("#region").empty();
            //创建节点用cityMe接受
            var cityMe = '<option value="请选择城市">请选择城市</option>';
           // 将节点放到城市下拉框里
            $("#city").append(cityMe);
            //获取省份名称
            var provinceMe = $(cc).val();
            //遍历省份将城市放进去
           for (var i=0;i<lists[provinceMe].length;i++){
                //将城市放到下拉框里
               $("#city").append('<option value='+lists[provinceMe][i]+'>'+lists[provinceMe][i]+'</option>');
           }
        }
        //制作区域的下拉框
        function citySelect(region){
            //选择城市时清空区域的节点
            $("#region").empty();
            //创建节点用regionMe接收
            var regionMe = '<option value="请选择区域">请选择区域</option>';
            //将节点放到区域下拉框里
            $("#region").append(regionMe);
            //获取省份名称
            var provinceHe =$("#province").val();
            //获取城市名称
           var cityHe =$(region).val();
            //遍历循环
            for (var i =0;i<lists[provinceHe][cityHe].length;i++){
                $("#region").append('<option value='+lists[provinceHe][cityHe][i]+'>'+lists[provinceHe][cityHe][i]+'</option>');

            }
        }
    </script>
</head>
<body>
<select id="province" onchange="provinceSelect(this);"></select>
<select id="city" onchange="citySelect(this);"></select>
<select id="region"></select>

</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值