简单的省份城市三级联动

省三级联动

使用JavaScript 来做一个简单的省三级联动
直接进入主题吧
首先我们先看看效果图请添加图片描述
这是一个初步的效果图,我在这里设计的一个h1标题,然后是我们的省三级联动。
这个是我们想要的效果图之一,这里我们要做到点击省份的时候后面的市和区不要出现
请添加图片描述
然后就是一个三级联动的效果请添加图片描述
这就是一个三级联动的效果图,在这里我们用了数组的形式进行一个代码的编写,代码如下:

!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>省份城市三级联动</title>
    <h1 align="center">省份城市三级联动</h1>
</head>

<body>
    <select id="province">
        <option value="-1">请选择</option>
    </select>
    <select id="city"> </select>
    <select id="country"> </select>
    <script>
        //省份数组
        var provinceArr = ['上海', '江苏', '山西'];
        //市区数组
        var cityArr = [
            ['上海市'],
            ['苏州市', '泰州市'],
            ['太原市', '吕梁市']
        ];
        //区域数组
        var countryArr = [
            [['黄埔区', '浦东区'],
            ],

            [
                ['虎丘区', '吴中区', '相城区'],
                ['广陵区', '江都区'],
            ],
            [
                ['万柏林区', '杏花岭区', '小店区'],
                ['文水', '离石', '交城']
            ],

        ];

        function createOption(obj, data) {
            for (var i in data) {
                var op = new Option(data[i], i);
                obj.options.add(op);
            }
        }
        var province = document.getElementById('province');
        createOption(province, provinceArr);

        var city = document.getElementById('city');
        province.onchange = function () {
            city.options.length = 0;
            createOption(city, cityArr[province.value]);
        };

        var country = document.getElementById('country');
        city.onchange = function () {
            country.options.length = 0;
            createOption(country, countryArr[province.value][city.value]);
        };

        province.onchange = function () {
            city.options.length = 0;
            createOption(city, cityArr[province.value]);
            if (province.value >= 0) {
                city.onchange();
            } else {
                country.options.length = 0;
            }

        };
    </script>

</body>

</html>
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
引用的内容描述了在uniapp中实现城市三级联动组件的方法。根据引用和引用[2]中的代码,可以通过加载省、市和区(县)的数据来实现三级联动。首先,使用loadCity方法加载省份数据。接着,在省份选择完成后,使用loadArea方法加载该省份下的城市数据。最后,在城市选择完成后,使用loadArea方法加载该城市下的区(县)数据。 以下是一个实现城市三级联动组件的示例代码: ```javascript <template> <div> <!-- 省份选择 --> <select v-model="selectedProvince" @change="handleProvinceChange"> <option v-for="province in provinces" :value="province.id">{{ province.name }}</option> </select> <!-- 城市选择 --> <select v-model="selectedCity" @change="handleCityChange"> <option v-for="city in cities" :value="city.id">{{ city.name }}</option> </select> <!-- 区(县)选择 --> <select v-model="selectedArea"> <option v-for="area in areas" :value="area.id">{{ area.name }}</option> </select> </div> </template> <script> export default { data() { return { provinces: [], // 省份数据 cities: [], // 城市数据 areas: [], // 区(县)数据 selectedProvince: '', // 已选中的省份 selectedCity: '', // 已选中的城市 selectedArea: '' // 已选中的区(县) }; }, created() { // 加载省份数据 this.loadProvinces(); }, methods: { // 加载省份数据 loadProvinces() { // 请求省份数据的接口 // 将接口返回的数据赋值给this.provinces }, // 加载城市数据 loadCities(provinceId) { // 请求城市数据的接口,参数传入当前选中的省份id // 将接口返回的数据赋值给this.cities }, // 加载区(县)数据 loadAreas(cityId) { // 请求区(县)数据的接口,参数传入当前选中的城市id // 将接口返回的数据赋值给this.areas }, // 处理省份选择变化 handleProvinceChange() { this.selectedCity = ''; // 清空已选中的城市 this.selectedArea = ''; // 清空已选中的区(县) this.loadCities(this.selectedProvince); // 加载对应的城市数据 }, // 处理城市选择变化 handleCityChange() { this.selectedArea = ''; // 清空已选中的区(县) this.loadAreas(this.selectedCity); // 加载对应的区(县)数据 } } }; </script> ``` 以上代码是一个简单的示例,你可以根据自己的项目需求进行适当的修改。通过这个示例,你可以实现一个基本的uniapp城市三级联动组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hackers luthiers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值