ASP下的二级联动(XML方式)

HTML显示页面
<%
RegionId
=trim(request.form("RegionId"))
RegionName
=trim(request.form("RegionName"))
ProvinceId
=trim(request.form("ProvinceId"))
ProvinceName
=trim(request.form("ProvinceName"))


OpenAccess1 cn_s
set rs=server.createobject("Adodb.recordset")
'<<==================区域选择数组(start)============
dim Region_Info()
sql
="select RegionId,RegionName from standardregion where Isfrozen='0' order by RegionId"
rs.open sql,cn_s,
1,1
redim Region_Info(2, rs.recordcount)
for i=1 to rs.recordcount
    Region_Info(
1, i)=trim(rs("RegionId"))
    Region_Info(
2, i)=trim(rs("RegionName"))
    rs.movenext
next
rs.close
'====================区域选择数组(end)============>>
%>

<
SCRIPT LANGUAGE="JavaScript">
<!--
//根据区域选择省份
function ChooseProvince(sRegionId)
{            
    
for(var i=document.all("Sel_Province").options.length-1;i>=0;--i)
    {
        document.all(
"Sel_Province").options.remove(i)
    }
    
//for(var j=document.all("selecttwo").options.length-1;j>=0;--j)
    //{
    //    document.all("selecttwo").options.remove(j);
    //}    
    var oXMLDoc = new ActiveXObject('MSXML');
    sURL 
= 'SelProvince_Region.asp?RegionId='+ sRegionId + '';
    
//alert(sURL);
    oXMLDoc.URL = sURL;
    
var oRoot=oXMLDoc.root;
    
if(oRoot.children!= null)
    {       
        
for(var i=0;i<oRoot.children.length;++i)
        {
            
var sText;
            
var sValue;
            
var oItem = oRoot.children.item(i);
            sText 
= oItem.text;
            sValue
= oItem.getattribute("ProvinceId");         
            
var oOption = document.createElement('OPTION');
            oOption.text 
= sText;
            oOption.value 
= sValue;
            document.all(
"Sel_Province").options.add(oOption);
        }
    }
}
//-->
&nbsp;区域名称:
                
<select name="Sel_Region" size="1" style="visibility:hidden;position:absolute;" onchange="javascript:form1.RegionName.value=this.options[selectedIndex].text;form1.RegionId.value=this.options.value;form1.ClientName.value='';form1.ClientId.value='';form1.ProvinceName.value='';form1.ProvinceId.value='';">
                    
<%for i=0 to ubound(Region_Info, 2)%>
                        
<option value="<%=Region_Info(1, i)%>"><%=Region_Info(2, i)%></option>
                    
<%next%>
                
</select>                
                
<input type="text" name="RegionName" size="15" class="allborder" style="cursor:hand;" value="<%=RegionName%>" onfocus="javascript:Sel_Region.style.visibility='visible'"    onblur="javascript:Sel_Region.style.visibility='hidden';" readonly>
                
<input type="hidden" name="RegionId" value="<%=RegionId%>">
            
                
&nbsp;省份名称:                    
                
<select name="Sel_Province" size="1" style="visibility:hidden;position:absolute;" onchange="javascript:form1.ProvinceName.value=this.options[selectedIndex].text;form1.ProvinceId.value=this.options.value;form1.ClientName.value='';form1.ClientId.value='';">
<!--                     <%'for i=0 to ubound(Province_Info, 2)%>
                        <option value="<%'=Province_Info(1, i)%>"><%'=Province_Info(2, i)%></option>
                    <%'next%> 
-->
                
</select>
                
<input type="text" name="ProvinceName" value="<%=ProvinceName%>"  size="10" class="allborder" style="cursor:hand;"  maxlength="20" 
                onfocus
="javascript:ChooseProvince(form1.RegionId.value);Sel_Province.style.visibility='visible'"    onblur="javascript:Sel_Province.style.visibility='hidden'" readonly="true">
                
<input type="hidden" name="ProvinceId" value="<%=ProvinceId%>">        

<%
'*******************************************
'
标题:SelProvince_Region.asp
'
功能:省份选择----条件(区域)
'
说明:
'
作者:dzh
'
时间:2005-08-19
'
修改:
'
*******************************************
%>

<!-- #include file="../connect/connect.asp" -->
<%    
    sRegionId 
= trim(Request.QueryString("RegionId"))    
    
    condition
=""
    
if sRegionId<>""    then        
        condition
=condition&" and RegionId in ('"& Replace(sRegionId,",","','"&"')"
    
end if
    
    
dim arrUnits()
    
    openaccess1 cn_s
    
set rs=server.createobject("adodb.recordset")
    sql
="select ProvinceId,ProvinceName FROM StandardProvinceV where IsFrozen='0' "&condition&" order by ProvinceId"        
    rs.open sql,cn_s,
1,1
    rscount
=rs.recordcount
    
redim arrUnits(2,rscount)
    
for i=1 to rscount
        arrUnits(
0,i)=trim(rs("ProvinceId"))
        arrUnits(
1,i)=trim(rs("ProvinceName"))        
        rs.movenext
    
next
    rs.close
    
set rs=nothing    
%
>
<?xml version="1.0" encoding="gb2312" ?>
<Provinces>
    
<%For i = LBound(arrUnits,2To UBound(arrUnits,2)%>
    
<Province ProvinceId="<%=arrUnits(0,i)%>"><%=arrUnits(1,i)%></Province>
    
<%Next%>
</Provinces>
posted @ 2006-04-12 19:49  blueKnight  Views(444)  Comments(0Edit  收藏  举报