jquery+ajax+xml 三级 下拉菜单
时间: 2023-06-28 16:09:29 浏览: 123
以下是一个基于 jQuery 和 Ajax 的三级下拉菜单代码示例,使用 XML 数据源:
HTML 代码:
```html
<label for="province">省份:</label>
<select id="province"></select>
<label for="city">城市:</label>
<select id="city"></select>
<label for="district">区县:</label>
<select id="district"></select>
```
JavaScript 代码:
```javascript
$(document).ready(function() {
// 加载省份数据
$.ajax({
type: "GET",
url: "province.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('province').each(function() {
var name = $(this).attr('name');
var code = $(this).attr('code');
$('<option>').val(code).text(name).appendTo('#province');
});
}
});
// 当省份下拉框改变时,加载对应的城市数据
$('#province').change(function() {
var provinceCode = $(this).val();
$('#city').empty();
$('#district').empty();
$('<option>').val('').text('--请选择--').appendTo('#city');
$('<option>').val('').text('--请选择--').appendTo('#district');
$.ajax({
type: "GET",
url: "city.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('city[province="' + provinceCode + '"]').each(function() {
var name = $(this).attr('name');
var code = $(this).attr('code');
$('<option>').val(code).text(name).appendTo('#city');
});
}
});
});
// 当城市下拉框改变时,加载对应的区县数据
$('#city').change(function() {
var cityCode = $(this).val();
$('#district').empty();
$('<option>').val('').text('--请选择--').appendTo('#district');
$.ajax({
type: "GET",
url: "district.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('district[city="' + cityCode + '"]').each(function() {
var name = $(this).attr('name');
var code = $(this).attr('code');
$('<option>').val(code).text(name).appendTo('#district');
});
}
});
});
});
```
其中 `province.xml`、`city.xml` 和 `district.xml` 分别是包含省份、城市和区县数据的 XML 文件。你可以根据自己的需求修改数据源和代码。
阅读全文