jQuery实现三级省市联动的效果
2010-08-09 17:33:32 by 【6yang】,
174
visits,
收藏 |
返回
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function loadXML(xmlpath){
var xmlDoc=null;
if (window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}else if (document.implementation && document.implementation.createDocument){
xmlDoc=document.implementation.createDocument("","",null);
}else{
alert('Your browser cannot handle this script.');
}
xmlDoc.async=false;
xmlDoc.load(xmlpath);
return xmlDoc;
}
$(function(){
var xmlDoc=null;
xmlDoc=loadXML("area.xml");
var $s1=$("#Select1");
var $s2=$("#Select2");
var $s3=$("#Select3");
// var v1=null;
// var v2=null;
// var v3=null;
var v1="上海市";
var v2="上海市";
var v3="浦东新区";
var root=$(xmlDoc).find("address")[0];
//alert(root[country]);
$(root).children("province").each(function(){
appendOptionTo($s1,$(this).attr("name"),$(this).attr("name"),v1);
});
$s1.change(function(){
$s2.html("");
var province_node=$(root).children("province")[this.selectedIndex];
$(province_node).children("city").each(function(){
appendOptionTo($s2,$(this).attr("name"),$(this).attr("name"),v2);
});
$s2.change();
}).change();
$s2.change(function(){
$s3.html("");
var province_node=$(root).children("province")[$s1[0].selectedIndex];
var city_node=$(province_node).children("city")[this.selectedIndex];
$(city_node).children("country").each(function(){
appendOptionTo($s3,$(this).attr("name"),$(this).attr("name"),v3)
});
}).change();
function appendOptionTo($o,k,v,d){
var $opt=$("<option>").text(k).val(v);
if(v==d){$opt.attr("selected", "selected")}
$opt.appendTo($o);
}
});
</script>
<style type="text/css" media="screen">
select{width:80px;}
</style>
<select id="Select1" name="Select1"></select>
<select id="Select2" name="Select2"></select>
<select id="Select3" name="Select3"></select>
share