求教用下拉选项调出相应选项对应的同另外一列的数据

mafan0000 2014-09-04 02:05:36
大家好,我想实现的功能是,当我选择其中的第一选择时,对应自动条件式地调出它所对应的数据 AAAAA,这个要怎么实现的。谢谢啊。我用的asp,给段代码参考下。

<form action="gogo.asp">
选择其中一项,
<select name="guige">
<option value="AAA" selected> 第一选择</option>
<option value="BBB" selected> 第二选择</option>
<option value="CCC" selected> 第三选择</option>
</select>
<input type="text" name=""value="<%rs(AAAAA)" />
</form>
...全文
357 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mafan0000 2014-09-10
  • 打赏
  • 举报
回复
谢谢啊,我还得好好学习。
mafan0000 2014-09-05
  • 打赏
  • 举报
回复
谢谢 hefeng_aspnet 的指点,我看了,您的这个我下一步肯定用得到,我可以用于做大类 到 子类 项目选项的时候使用 。非常好的代码 例子 。
不过这次,我还想请您帮忙看看,我这种,实现起来用什么方法比较简单一些,代码也少一些 。
1.我的学习用表是这个 :


2.我想实现的简单的效果是这个


我参考了这个代码 :
联系人:
<select id="dwname" name="dwname" onchange="dwcontact.value=this.options[dwname.selectedIndex].dw;dwphone.value=this.options[dwname.selectedIndex].dh;">
<option value="0">请选择联系人</option>
<%
do while not rs.eof
Response.Write "<option value="&rs("id")&" dw='"&rs("单位")&"' dh='"&rs("电话")&"'> "&rs("联系人")&" </option> " & vbCrLf
rs.movenext
loop
%>
</select>
<br><br>
单位:
<input name="dwcontact" id="dwcontact" type="text" size="20" value="">
<br>
电话:
<input name="dwphone" id="dwphone" type="text" size="20" value="">

但我没有转过弯来,我的是同一个表里,两个列来做的下拉框,而两个下拉框,对应的数值又不同,他们存在于表中的两列。
我就想实现,做列AAA的选择,就对应AAAAA列的数据显示到文本框。同样地,如果选择了列 BBB,就对应BBBBB列的数据自动显示到文本框里 。
csdn_aspnet 2014-09-04
  • 打赏
  • 举报
回复
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>     
<head>     
<meta http-equiv=Content-Type content='text/html; charset=gb2312'>  
<title>ASP从数据表生成联动下拉菜单框</title>  
</head>     
<body>  
<%  
set conn=Server.CreateObject("adodb.connection")  
conn.open "DRIVER=Driver do Microsoft Access (*.mdb);UID=;PWD=;DBQ="&Server.MapPath("data/adsfadgjklufgdgfshmnbcc.mdb")  
set rst=server.CreateObject("adodb.recordset")   
sql="select * from district"  
'district是本人建的一个深圳市行政区域表,分三个字段:辖区名,街道名和社区名,且已经建立了组合索引  
'本脚本就是根据带有三个字段的数据表来生成三级联动下拉菜单  
rst.open sql,conn,1,1  
dim a(),dim1,dim2,i  
dim1=rst.recordcount-1'得到二维数组的行维下标  
dim2=rst.fields.count-1'得到二维数的列维下标  
i=0  
redim a(dim1,dim2)'根据上面得到的行、列下标重定义数组  
while not rst.eof'开始循环给数组赋值  
  for j=0 to dim2  
    if isnumeric(rst.fields(j).value) then  
    a(i,j)=rst.fields(j).value  
    else  
    a(i,j)="'"&rst.fields(j).value&"'" '对于非数字类型的数据,我们直接在其左右加上单引号  
    end if  
  next  
  i=i+1  
  rst.movenext  
wend  
rst.close  
set rst=nothing  
  
sub showarray(arr,row)'二维数组的单行转换,row表示第几行  
col=Ubound(arr,2)   
if col>=0 then  
  response.write(arr(row,0))  
    if col>=1 then  
      for n=1 to col     
        response.write(","&arr(row,n))  
      next   
    end if  
else   
  response.write("")  
end if  
end sub  
    
sub showarr_towdim(arr2)'将ASP二维数组转换成供JAVASCRIPT程序中定义数组使用的代码   
  num=Ubound(arr2)  
  if num>=0 then  
    response.write("new Array(")  
    call showarray(arr2,0)'调用单行转换  
    response.write(")"&chr(13))  
    if num>=1 then  
      for m=1 to num  
        response.write(",new Array(")  
        call showarray(arr2,m)'循环调用单行转换  
        response.write(")"&chr(13))  
      next  
    end if  
  else  
  response.write("")  
  end if  
end sub  
%>  
<form name="form1" id="form1" action="" method="post">  
<%for j=1 to dim2+1 '根据列数来循环生成下拉框,当然在已经知道数据库信息后,你可不使用循环,设计更友好的下拉框%>  
<select name="select<%=j%>" id="select<%=j%>">  
<option value="" selected>-请选择第<%=j%>个选项-</option>  
</select>  
<%next%>  
</form>  
<script language="javascript">  
var b=new Array(<%call showarr_towdim(a)%>);//将asp二维数组a赋值给b     
var cols=b.length;  
var sel1=document.getElementById("select1");  
var sel2=document.getElementById("select2");  
  
/************以下初始化第一个下拉框****************/  
var opt_index=0;  
for(var i=0;i<cols;i++){  
    if(b[i][0]!=sel1.options[opt_index].value){  
      opt_index+=1;  
      sel1.options[opt_index]=new Option(b[i][0],b[i][0]);  
    }  
}  
  
/************以下定义第一个下拉框的onChange事件处理函数****************/  
sel1.onchange=function(){  
var value=this.options[this.selectedIndex].value;  
sel2.length=1;//先清空除第一项外的所有选项。  
var index=0;  
for(var i=0;i<cols;i++){  
    if(b[i][0]==value && b[i][1]!=sel2.options[index].value){  
      index+=1;  
      sel2.options[index]=new Option(b[i][1],b[i][1]);  
    }  
  }  
}  
  
/************以下定义第二个下拉框的onChange事件处理函数****************/  
sel2.onchange=function(){  
var value=this.options[this.selectedIndex].value;  
var sel3=document.getElementById("select3");  
sel3.length=1;//先清空除第一项外的所有选项。  
var index=0;  
for(var i=0;i<cols;i++){  
    if(b[i][0]==sel1.value && b[i][1]==value && b[i][2]!=sel3.options[index].value){  
      index+=1;  
      sel3.options[index]=new Option(b[i][2],b[i][2]);  
    }  
  }  
}  
</script>  
</body>     
</html>

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧