当前位置: 首页 > 面试题库 >

请使用js实现一个省市县级联的效果

虞展
2023-03-14
本文向大家介绍请使用js实现一个省市县级联的效果相关面试题,主要包含被问及请使用js实现一个省市县级联的效果时的应答技巧和注意事项,需要的朋友参考一下
html-basic">
<div id="app">
    <select id="pro"></select>
    <select id="cit"></select>
    <select id="cou"></select>
</div>
var provinces = [
    { '001': '浙江', },
    { '002': '广东', },
    { '003': '江苏', },
];

var cities = [
    {
        '001': [{
            '001001': '杭州'
        },
        {
            '001002': '台州'
        }]
    },
    {
        '002': [{
            '002001': '广州'
        },
        {
            '002002': '佛山',
        }]
    },
    {
        '003': [{
            '003001': '南京'
        },
        {
            '003002': '苏州',
        }]
    }
];

var counties = [
    {
        '001001': [{
            '001001001': '杭州sub1'
        },
        {
            '001001002': '杭州sub2',
        }]
    }
    ,
    {
        '001002': [{
            '001002001': '台州sub1'
        },
        {
            '001002002': '台州sub2',
        }]
    },
    {
        '002001': [{
            '002001001': '广州sub1'
        },
        {
            '002001002': '广州sub2',
        }]
    },
    {
        '002002': [{
            '002002001': '佛山sub1'
        },
        {
            '002002002': '佛山sub2',
        }]
    },
    {
        '003001': [{
            '003001001': '南京sub1'
        },
        {
            '003001002': '南京sub2',
        }]
    },
    {
        '003002': [{
            '003002001': '苏州sub1'
        },
        {
            '003002002': '苏州sub2',
        }]
    },
];

function getCities(provinceCode) {
    provinceCode = '' + provinceCode;
    let obj = cities.filter(e => {
        let code = Object.keys(e)[0];
        return code === provinceCode
    })[0];
    return Object.values(obj)[0];
}


function getCounties(cityCode) {
    // 这里不能传00开头的数字,有坑
    cityCode = '' + cityCode;
    let obj = counties.filter(e => {
        let code = Object.keys(e)[0];
        return code === cityCode
    })[0];
    return Object.values(obj)[0];
}

var $province = document.querySelector('#pro');
var $city = document.querySelector('#cit');
var $county = document.querySelector('#cou');

function commonFill($el, data) {
    while ($el.firstChild)
        $el.removeChild($el.firstChild);
    data.forEach(e => {
        var key = Object.keys(e)[0];
        var value = Object.values(e)[0];
        $el.appendChild(new Option(value, key));
    });
    return $el.value;
}

// 填充省份
function fillProvinces() {
    return commonFill($province, provinces);
}

// 填充城市
function fillCities(provinceCode) {
    var cities = getCities(provinceCode);
    return commonFill($city, cities);
}


// 填充县区
function fillCounty(cityCode) {
    var counties = getCounties(cityCode);
    return commonFill($county, counties);
}


$province.addEventListener('change', e => {
    var provinceCode = e.target.value;
    var currentCityValue = fillCities(provinceCode);
    fillCounty(currentCityValue);
})

$city.addEventListener('change', e => {
    var cityCode = e.target.value;
    fillCounty(cityCode)
})

var currentProvinceValue = fillProvinces();
var currentCityValue = fillCities(currentProvinceValue);
var currentCoutuntyValue = fillCounty(currentCityValue);
 类似资料:
  • 本文向大家介绍JavaScript实现省市县三级级联特效,包括了JavaScript实现省市县三级级联特效的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js省市县三级级联特效的实现代码,供大家参考,具体内容如下 主要思想 1.省改变,市改变,并初始化县 2.市改变,县改变 html代码 主要步骤 1.获取元素对象 2.定义市和县的数组 3.定义全局变量 4.实现省份改变,市跟着变化

  • 本文向大家介绍JS实现省市县三级下拉联动,包括了JS实现省市县三级下拉联动的使用技巧和注意事项,需要的朋友参考一下 纯JS实现省市县三级下拉联动,供大家参考,具体内容如下 代码如下: 效果如下 如果大家还想深入学习,可以点击jquery下拉框效果汇总、JavaScript下拉框效果汇总进行学习。 以上就是javascript实现省市区三级联动下拉框菜单的全部代码,希望对大家的学习有所帮助。

  • 本文向大家介绍ajax实现无刷新省市县三级联动,包括了ajax实现无刷新省市县三级联动的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了ajax实现无刷新省市县三级联动的具体代码,供大家参考,具体内容如下 效果图: 实现代码: 1、html: 2、WebService1.asmx 在三层的Bll层中的city.cs和area.cs中分别添加以下属性 在三层的DAL层中的city.cs和

  • 本文向大家介绍jQuery实现的省市县三级联动菜单效果完整实例,包括了jQuery实现的省市县三级联动菜单效果完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现的省市县三级联动菜单效果。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下:

  • 本文向大家介绍javascript实现的全国省市县无刷新多级关联菜单效果代码,包括了javascript实现的全国省市县无刷新多级关联菜单效果代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript实现的全国省市县无刷新多级关联菜单效果代码。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:

  • 本文向大家介绍jquery读取xml文件实现省市县三级联动的方法,包括了jquery读取xml文件实现省市县三级联动的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery读取xml文件实现省市县三级联动的方法。分享给大家供大家参考。具体如下: 页面代码如下: 效果图如下: 希望本文所述对大家的jQuery程序设计有所帮助。