jquery实现省市区三级联动
warning:
这篇文章距离上次修改已过185天,其中的内容可能已经有所变动。
使用jQuery实现省市区三级联动的基本思路是监听前两级选择的变化,根据选中的省市动态加载区域数据。以下是一个简单的实现示例:
HTML部分:
<select id="province">
<option value="">请选择省份</option>
</select>
<select id="city">
<option value="">请选择城市</option>
</select>
<select id="area">
<option value="">请选择区域</option>
</select>
jQuery和JavaScript部分:
$(document).ready(function() {
// 初始化省份数据
var provinces = [
{name: '省份1', cities: ['城市1', '城市2']},
{name: '省份2', cities: ['城市3', '城市4']}
];
// 填充省份下拉菜单
$.each(provinces, function(index, province) {
$('#province').append($('<option></option>').val(index).html(province.name));
});
// 省份变化时加载城市
$('#province').change(function() {
var index = $(this).val();
var cities = provinces[index].cities;
$('#city').empty(); // 清空城市下拉菜单
$.each(cities, function(index, city) {
$('#city').append($('<option></option>').val(index).html(city));
});
});
// 城市变化时加载区域
$('#city').change(function() {
var cityIndex = $(this).val();
var areas = provinces[$('#province').val()].cities[cityIndex];
$('#area').empty(); // 清空区域下拉菜单
$.each(areas, function(index, area) {
$('#area').append($('<option></option>').val(index).html(area));
});
});
});
在这个例子中,我们使用了三个select
元素来创建三级联动菜单。初始化时,我们填充了省份下拉菜单,然后监听省份的变化来更新城市下拉菜单,同时监听城市的变化来更新区域下拉菜单。每次变化后,都会清空旧的数据,并根据选中的内容加载新的数据。
注意:这个例子中的区域数据设置得非常简单,它只是一个字符串数组。在实际应用中,区域数据应该是一个包含更多细节的对象或者数据结构。
评论已关闭