博主信息
博文 41
粉丝 0
评论 0
访问量 36672
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0523作业2019年5月24日 10:09:43
Viggo的博客
原创
783人浏览过

主要思路:

每一个下拉框对应后端一个json文件,json文件设置上下文对应的键值.通过这个键值判断对应的项,然后遍历添加到下拉框中.

首先打开网页后自动获取第一个数据遍历添加到下拉框。

然后设置第一个下拉框的select change触发事件,这时获取第2个json文件,用第2个json文件里面的对应上下文键值和第一个下拉框的value值进行对比,相同的符合要求的遍历后添加到第2个下拉框。

第三个下拉框依照第二个下拉框的value值进行对比遍历添加。

实例

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>三级联动下拉框</title>
</head>
<body>

<label for="pro">省</label>
<select name="" id="pro"></select>

<label for="city">市</label>
<select name="" id="city"></select>

<label for="area">区</label>
<select name="" id="area"></select>

<p id="addr"></p>

<script src="static/js/jquery-3.4.1.js"></script>
<script>
    $.getJSON('inc/1.json',function (data) {
        // console.log(data);
        var option = '<option value="">请选择</option>';
        $.each(data,function (index) {
            // console.log(index);
            // console.log(data[index]['proId']);
            // console.log(data[index]['proName']);

            option +='<option value="'+ data[index]['proId'] +'">'+ data[index]['proName'] +'</option>';
        });
        // console.log(option);
        $('#pro').append(option);

    });

    $('#pro').on('change',function (event) {
        // 1获取当前选中的索引值
        // 获取json2文件的内容 判断json2文件里面相对应值和当前选中索引值一样的 添加
        // console.log(event.target.value);
        // console.log($(this).val());
        // console.log(this.value);
        // console.log($('#pro').val());


        $.getJSON('inc/2.json',function (data) {
            // console.log(data);
            var option = '<option value="">请选择</option>';
            $.each(data,function (index) {
                // console.log(data[index]['cityName']);
                // console.log(event.target.value);
                // 网页获取的是字串符 json文件穿过来的是整数型 所以要转换一下才可以全等 也可以把网页获取的转换 parseInt()
                if (String(data[index]['proId']) === event.target.value){
                    // console.log(data[index]['cityId']);
                    option += '<option value="'+ data[index]['cityId'] +'">'+ data[index]['cityName'] +'</option>'
                }
            });
            $('#city').html(option);
        });
    });

    $('#city').on('change',function (event) {
        $.getJSON('inc/3.json',function (data) {
            // console.log(data);
            var option = '<option value="">请选择</option>';
            $.each(data,function (index) {
                // console.log(data[index]['cityName']);
                // console.log(event.target.value);
                // 网页获取的是字串符 json文件穿过来的是整数型 所以要转换一下才可以全等 也可以把网页获取的转换 parseInt()
                if (String(data[index]['cityId']) === event.target.value){
                    // console.log(data[index]['cityId']);
                    option += '<option value="'+ data[index]['areaId'] +'">'+ data[index]['areaName'] +'</option>'
                }
            });
            $('#area').html(option);


        });
    });

</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学