省市联动下拉框 基于:js + xmlhttp
2006-08-27 17:15
483 查看
#region 省市联动下拉框 基于:js + xmlhttp
script language="javascript">
function showprovince(listobj){
var xmldoc = new ActiveXObject("MSXML.DOMDocument");
xmldoc.async = false
xmldoc.load('Area.xml');
var provinces = xmldoc.selectSingleNode("Area");
if(provinces){
for(var i=0;i<provinces.childNodes.length;i++){
var province = provinces.childNodes[i];
var opt = new Option(province.getAttribute("name"),province.getAttribute("name"));
listobj.options[listobj.options.length]= opt ;
opt = null;
}
}
}
function showCity(province,listobj)
{
if(province != ""){
if(0 == listobj.options.length ){
var opt = new Option("-选择-",'') ;
listobj.options[listobj.options.length] = opt ;
opt = null ;
}
}
var xmldoc = new ActiveXObject("MSXML.DOMDocument");
xmldoc.async = false
xmldoc.load('Area.xml');
var cities = xmldoc.selectSingleNode("Area/Province[@name='"+province+"']");
if(cities){
for(var i=0;i<cities.childNodes.length;i++){
var city = cities.childNodes[i];
var opt = new Option(city.getAttribute("name"),city.getAttribute("name"));
listobj.options[listobj.options.length] = opt ;
opt = null;
}
}
if(listobj.options.length == 2){
listobj.options[1].selected = true ;
}
}
function clearOption(obj)
{
while(obj.options.length>0){
obj.options[obj.options.length-1] = null ;
}
}
function selectedProv(obj,province)
{
for(var i=0;i<obj.options.length;i++){
if(obj.options[i].value == province){
obj.options[i].selected = true ;
break ;
}
}
}
function selectedCity(listobj,province,city)
{
showCity(province,listobj) ;
obj = listobj ;
for(var i=0;i<obj.options.length;i++)
{
if(obj.options[i].value == city)
{
obj.options[i].selected = true ;
break ;
}
}
}
function init(){
showprovince(document.form1.PID);
selectedProv(document.form1.PID,'');
selectedCity(document.form1.AreaCD,'','');
}
window.onload=init;
</script>
</HEAD>
<BODY>
省市联动下拉框 基于:js + xmlhttp <br>
<hr>
<form name="form1">
省份:
<SELECT NAME="PID" onchange="javascript:clearOption(this.form.AreaCD);showCity(PID.options[this.options.selectedIndex].value,this.form.AreaCD);">
<option value=0 size=10>-选择-</option>
</SELECT>
城市:
<SELECT NAME="AreaCD" >
<option value=0 size=10>-选择-</option>
</SELECT>
</form>
</BODY>
#endregion
script language="javascript">
function showprovince(listobj){
var xmldoc = new ActiveXObject("MSXML.DOMDocument");
xmldoc.async = false
xmldoc.load('Area.xml');
var provinces = xmldoc.selectSingleNode("Area");
if(provinces){
for(var i=0;i<provinces.childNodes.length;i++){
var province = provinces.childNodes[i];
var opt = new Option(province.getAttribute("name"),province.getAttribute("name"));
listobj.options[listobj.options.length]= opt ;
opt = null;
}
}
}
function showCity(province,listobj)
{
if(province != ""){
if(0 == listobj.options.length ){
var opt = new Option("-选择-",'') ;
listobj.options[listobj.options.length] = opt ;
opt = null ;
}
}
var xmldoc = new ActiveXObject("MSXML.DOMDocument");
xmldoc.async = false
xmldoc.load('Area.xml');
var cities = xmldoc.selectSingleNode("Area/Province[@name='"+province+"']");
if(cities){
for(var i=0;i<cities.childNodes.length;i++){
var city = cities.childNodes[i];
var opt = new Option(city.getAttribute("name"),city.getAttribute("name"));
listobj.options[listobj.options.length] = opt ;
opt = null;
}
}
if(listobj.options.length == 2){
listobj.options[1].selected = true ;
}
}
function clearOption(obj)
{
while(obj.options.length>0){
obj.options[obj.options.length-1] = null ;
}
}
function selectedProv(obj,province)
{
for(var i=0;i<obj.options.length;i++){
if(obj.options[i].value == province){
obj.options[i].selected = true ;
break ;
}
}
}
function selectedCity(listobj,province,city)
{
showCity(province,listobj) ;
obj = listobj ;
for(var i=0;i<obj.options.length;i++)
{
if(obj.options[i].value == city)
{
obj.options[i].selected = true ;
break ;
}
}
}
function init(){
showprovince(document.form1.PID);
selectedProv(document.form1.PID,'');
selectedCity(document.form1.AreaCD,'','');
}
window.onload=init;
</script>
</HEAD>
<BODY>
省市联动下拉框 基于:js + xmlhttp <br>
<hr>
<form name="form1">
省份:
<SELECT NAME="PID" onchange="javascript:clearOption(this.form.AreaCD);showCity(PID.options[this.options.selectedIndex].value,this.form.AreaCD);">
<option value=0 size=10>-选择-</option>
</SELECT>
城市:
<SELECT NAME="AreaCD" >
<option value=0 size=10>-选择-</option>
</SELECT>
</form>
</BODY>
#endregion
相关文章推荐
- 下拉框联动省市js方法
- 关于js的冒泡事件,和一款基于jQuery的联动Select下拉框
- 基于JS实现省市联动效果代码分享
- jquery.cityselect.js基于jQuery+JSON的省市或自定义联动效果
- JSON+JS实现省市县三级联动下拉框
- 【全网独享】基于springMvc经过改装的js+ajax的省市地区县街道四级联动弹出框(网上的都是三级联动的哦)
- 用js解析xml实现省市二级联动
- 免ajax省市三级联动:http://runjs.cn/detail/rcsqficf
- js读取xml作为数据源填充四级联动下拉框
- 【新生入学】--JS省市二级联动下拉框
- jquery.cityselect.js基于jQuery+JSON的省市-自定义联动效果
- 由ajax,js,xml,php实现的三级联动省市县下拉功能
- 利用js读出xml制作地区联动下拉框
- 基于外部一个省市联动js框架,实现初始化特定的地址级联
- js联动下拉框
- 无刷新联动大烧烤(XMLHttpRequest,AJAX Library)
- js省市级联 三级联动菜单
- JS省市联动
- android:省市县三级联动(基于json和spring)
- 基于jQuery+JSON的省市联动效果