vscode通过读取json文件实现省市二级联动
时间: 2023-06-24 08:03:03 浏览: 95
用JSON实现的省市联动
5星 · 资源好评率100%
可以使用以下步骤实现:
1. 创建两个 json 文件,一个包含省份信息,一个包含城市信息,例如:province.json 和 city.json。
province.json 文件内容如下:
```json
[
{
"id": "110000",
"name": "北京市"
},
{
"id": "120000",
"name": "天津市"
},
{
"id": "130000",
"name": "河北省"
},
...
]
```
city.json 文件内容如下:
```json
[
{
"id": "110100",
"name": "北京市",
"province_id": "110000"
},
{
"id": "120100",
"name": "天津市",
"province_id": "120000"
},
{
"id": "130100",
"name": "石家庄市",
"province_id": "130000"
},
...
]
```
2. 在 HTML 文件中创建两个 select 元素,一个用于选择省份,一个用于选择城市,并给它们分别设置 id。
```html
<select id="province"></select>
<select id="city"></select>
```
3. 使用 Ajax 异步加载省份信息,将省份信息添加到省份 select 中。
```javascript
$.getJSON('province.json', function(data) {
var options = '<option value="">请选择省份</option>';
$.each(data, function(index, item) {
options += '<option value="' + item.id + '">' + item.name + '</option>';
});
$('#province').html(options);
});
```
4. 监听省份 select 的 change 事件,根据省份选项的值,异步加载对应城市信息,将城市信息添加到城市 select 中。
```javascript
$('#province').change(function() {
var provinceId = $(this).val();
if (provinceId) {
$.getJSON('city.json', {province_id: provinceId}, function(data) {
var options = '<option value="">请选择城市</option>';
$.each(data, function(index, item) {
options += '<option value="' + item.id + '">' + item.name + '</option>';
});
$('#city').html(options);
});
} else {
$('#city').html('<option value="">请选择城市</option>');
}
});
```
5. 在 city.json 中添加一个 province_id 字段,表示该城市所属的省份 id,使用 Ajax 异步加载城市信息时,可以通过传递省份 id 参数来过滤出对应的城市信息。
阅读全文