jquery实现省市二级联动,直接上代码:
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test01.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
</head>
<body>
<select id="province" name="province">
<option value="">请选择....</option>
</select>
<select id="city" name="city">
<option value="">请选择.....</option>
<option value="铁岭">铁岭</option>
</select>
</body>
<script language="JavaScript">
$.get("cities.xml", function (xml) {
var docXml = xml;
var $provinceXmlElements = $(docXml).find("province");
$provinceXmlElements.each(function (index, domEle) {
var $provinceXmlValue = $(domEle).attr("name");
var $option = $("<option></option>");
$option.attr("value", $provinceXmlValue);
$option.text($provinceXmlValue);
var $provinceElement = $("#province");
$provinceElement.append($option);
});
$("#province").change(function () {
var $provinceValue = $("#province").val();
//$("#city option[value!='']").each(function(index,domEle){
// $(domEle).remove();
//});
$("#city option[value!='']").remove();
$provinceXmlElements.each(function (index, domEle) {
var $provinceXmlValue = $(domEle).attr("name");
if ($provinceValue == $provinceXmlValue) {
var $cityXmlElements = $(domEle).find("city");
$cityXmlElements.each(function (index, domEle) {
var $cityXmlValue = $(domEle).text();
var $option = $("<option></option>");
$option.attr("value", $cityXmlValue);
$option.text($cityXmlValue);
var $cityElement = $("#city");
$cityElement.append($option);
});
}
});
});
})
</script>
</html>
cities.xml
<?xml version="1.0" encoding="GB2312"?> <china> <province name="吉林省"> <city>长春</city> <city>吉林市</city> <city>四平</city> <city>松原</city> <city>通化</city> </province> <province name="辽宁省"> <city>沈阳</city> <city>大连</city> <city>鞍山</city> <city>抚顺</city> <city>铁岭</city> </province> <province name="山东省"> <city>济南</city> <city>青岛</city> <city>威海</city> <city>烟台</city> <city>潍坊</city> </province> </china>
达维营-前端网