运用极简行代码实现省市二级联动【固定数据版】

博客介绍了运用极简代码实现省市二级联动(固定数据版),包含固定数据添加位置,给出了map.html和map.js的Jquery、JavaScript写法,还提及了省市二级联动(json动态数据版)及省市区三级联动(固定数据版)。

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

运用极简行代码实现省市二级联动【固定数据版】

在这里插入图片描述
固定数据(加到map.js开头)

var area =[
    {
        "proName":"广东",
        "cityName":['潮州','东莞','佛山','广州','河源','惠州','江门','揭阳','茂名','梅州','清远','汕头','汕尾','韶关','深圳','阳江','云浮','湛江','肇庆','中山','珠海'],
    }, {
        "proName":"广西",
        "cityName":['百色','北海','崇左','防城港','贵港','桂林','河池','贺州','来宾','柳州','南宁','钦州','梧州','玉林'],
    },  {
        "proName":"云南",
        "cityName":['楚雄','大理','德宏','迪庆','红河','昆明','丽江','临沧','怒江','普洱','曲靖','瑞丽','文山','西双版纳','玉溪','昭通'],
    }, {
        "proName":"海南",
        "cityName":['白沙','保亭','昌江','澄迈','儋州','定安','东方','海口','乐东','临高','陵水','琼海','琼中','三亚','屯昌','万宁','文昌','五指山']
    }
]

map.html

<head>
	<!-- 样式 -->
    <style>
        body { background: #eee; }
        select { width: 100px;outline: none; }
    </style>
</head>
<body>
    <div>
        <select id="pro" onchange="initCity()">
            <option style="display:none">请选择省份</option>
        </select>
        <select id="city">
            <option style="display:none">请选择市区</option>
        </select>
    </div>
</body>

map.js(方法1:Jquery写法)

$(function() {
    initPro() //先加载省份
})

function initPro() {
    let _pro = $("#pro")
    for (let i = 0; i < area.length; i++) {
        _pro.append($("<option></option>").val(i).html(area[i].proName))
    }
}

function initCity() {
    var idx = $("#pro").val()
    let _city = $("#city")
    _city.prop("length", 1) // prop设置属性和值,清空city队列,1为显示默认文本
    for (var i = 0; i < area[idx].cityName.length; i++) {
        _city.append($("<option></option>").val(i+1).html(area[idx].cityName[i]))
    }
}

map.js(方法2:JavaScript写法)

window.onload = function() {
    initPro() //先加载省份
}

function initPro() {
    let _pro = document.getElementById("pro")
    for (let i in area) {
        _pro.add(new Option(area[i].proName, i), null)
    }
}

function initCity() {
    let idx = document.getElementById("pro").value;
    let _city = document.getElementById("city");
    _city.length = 1; // 每次都先清空city
    for (var i in area[idx].cityName) {
        _city.add(new Option(area[idx].cityName[i], i), null)
    }
}

还没满足您的需求?更多请了解:
1.运用极简行代码实现省市二级联动【json动态数据版】
2.运用极简行代码实现省市区三级联动【固定数据版】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值