城市二级菜单,jquery xml 如何选择北京显示相应的城市,下面是一部分xml格式 <province> <title>北京</title> <item> <city>东城</city> <city>西城</city> <city>崇文</city> <city>宣武</city> <city>朝阳</city> <city>丰台</city> <city>石景山</city> <city>海淀</city> <city>门头沟</city> <city>房山</city> <city>通州</city> <city>顺义</city> <city>昌平</city> <city>大兴</city> <city>平谷</city> <city>怀柔</city> <city>密云</city> <city>延庆</city> </item> </province> <select id="DropProvince" style="width:60px;"> <option>请选择</option> <select> <select id="sCity" style="width:60px;"> <select> //获得省 $(document).ready(function () { $.ajax({ url: "serverDoc.xml", success: function (xml) { $(xml).find("title").each(function () { var t = $(this).text(); //this-> $("#DropProvince").append("<option>" + t + "</option>"); }); } }); //获得市。。不能获取, $("#DropProvince").change(function () { $("#sCity>option").remove(); var pname = $("#DropProvince").val(); $.ajax({ url: "serverDoc.xml", success: function (xml) { $(xml).find("province[val=" + pname + "] city").each(function () { $("#sCity").append("<option>" + $(this).text() + "</option>"); }); } }); }); }); 哪位帮忙看看?
success: function (xml) { $(xml).find("province[val=" + pname + "] city").each(function () { $("#sCity").append("<option>" + $(this).text() + "</option>"); }); }
改为:
success: function (xml) { var provinces= xml.getElementsByTagName('province');
foreach(var tag in provinces)
{
if(tag.childNodes[0].nodeValue== pname)
{
var cities=tag.getElementsByTagName('city');
foreach(var city in cities)
{
$("#sCity").append("<option>" + city.nodeValue + "</option>");
}
}
}
}
代码可能还有点问题
这不对,不过还是多谢!
建议建立一个简单的JSon格式的数据就行了。不一定需要XML结构的数据
利用$.getJSON来取到JSON数据,显示。
好的,多谢!
也许是这样的吧..
$(xml).find("province title[val=" + pname + "] city").each(function () { $("#sCity").append("<option>" + $(this).text() + "</option>"); });
这不对,不过还是多谢!
xml文件:
<item title="北京"></item>
$(xml).find("province item[title=" + pname + "] city").each(function () { $("#sCity").append("<option>" + $(this).text() + "</option>"); });
已测试
多谢!
$("#DropProvince").change(function () {
$("#sCity>option").remove();
var pname = $("#DropProvince").val();
$.ajax({ url: "serverDoc.xml",
success: function (xml) {
alert($(xml).find("province title[val=" + pname + "] item"));
$(xml).find("province title[val=" + pname + "] item").each(function () {
$("#sCity").append("<option>" + $(this).text() + "</option>");
});
}
});
});
});