日期:2014-05-16  浏览次数:20375 次

ASP 二级联动获取不到下拉菜单的值?
以下是数据库
表一:province
f exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[province]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[province]
GO

CREATE TABLE [dbo].[province] (
[p_id] [int] NULL ,
[p_name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO

表二:City
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[City]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[City]
GO

CREATE TABLE [dbo].[City] (
[c_id] [int] NULL ,
[c_pid] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[c_name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JS动态列表示例</title>
<script language="JavaScript"><!--
<%
dim conn,rs,grs,i,j,pstr,sstr
set conn=server.createobject("adodb.connection")
set rs=server.createobject("adodb.recordset")
set grs=server.createobject("adodb.recordset")
'conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("dlist.mdb")
conn.open  "DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=wzjs_mis;uid=wzjs;pwd=wzjs" 
'写省份JS数组
rs.open "select * from province;",conn,1,1
pstr="var pstr=new Array("
for i=0 to rs.recordcount-1
 if i<>rs.recordcount-1 then
  pstr=pstr & "'" & rs("p_name") & "',"
 else
  pstr=pstr & "'" & rs("p_name") & "'"
 end if
 getsub(rs("p_name"))
 rs.movenext
next
pstr=pstr & ");"
response.write pstr & vbcrlf
rs.close()
set rs=nothing
set grs=nothing

'根据省份写城市JS数组的过程
sub getsub(pname)
 grs.open "select * from city where c_pid='" & pname & "';",conn,1,1
 sstr="var sstr" & i & "=new Array("
 for j=1 to grs.recordcount
  if j<>grs.recordcount then
   sstr=sstr & "'" & grs("c_name") & "',"
  else
   sstr=sstr & "'" & grs("c_name") & "'"