如何在选择下拉列表框时动态改变另一个列表框的数据(读数据库,不能刷新页面) 你要现查数据库的话,页面肯定要刷新,除非用 iframe如果一定要不刷新的话 就行一次把数据库中所有的内容取出来,再动态显示你用 JavaScript + XML 搜索能搜出好多东西来,看看吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用以下方法生成动态js这样子就可以在页面里不刷新的情况下动态列表了。<?php $abc = "vvvv";$cde = "dddd";echo <<<output<script language="javascript">abc = $cde;alert("$abc"+" "+abc);</script>output;?> http://fason.nease.net/samples/select/ 可以把数据都先读出来,如果数据量不大的话,先把数据存到数组里面,再对数组进行操作..<% dim conn dim connstr on error resume next connstr="DBQ="+server.MapPath("test.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.CreateObject("ADODB.CONNECTION") conn.open connstr%><script language = "JavaScript"> sall=new Array();<%Dim ii=0set rs=conn.execute("select * from subject")do while not rs.eof%>sall[<%=i%>]=new Array("<%=rs("subjectname")%>","<%=rs("departid")%>","<%=rs("subjectid")%>");<%i=i+1rs.movenextlooprs.close%>function changeselect(selvalue) { document.myform.Nclassid.length=0; var selvalue=selvalue; var i; for(i=0;i<sall.length;i++) { if(sall[i][1]==selvalue) { var newOption1=new Option(sall[i][0],sall[i][2]); document.all.Nclassid.add(newOption1); } }}</script> <form method="post" name="myform" action="ru_query.asp"> <select name="classid" onChange="changeselect(document.myform.classid.options[document.myform.classid.selectedIndex].value)" size="1"> <option selected value="">未指定条件</option> <%set rs1=conn.execute("select * from depart")do while not rs1.eofresponse.write "<option value='"&rs1("departid")&"'>"&rs1("departname")&"</option>"&chr(13)+chr(10)rs1.movenextlooprs1.close%></select> <select name="Nclassid"> <option selected value="">未指定</option> </select> 数据库设计表depart字段 departID 自动编号departName 文本 '省份表subject字段subjectID 自动编号subjectName 文本 '城市departID 数字 '所属省份ID 非常感谢 wanghr100(灰豆宝宝.net) 提供的代码,不过还有一点小问题,我想在页面刚打开时显示所有的记录或者某一组记录,如何写? 强烈建议使用Remote Script,虽然复杂了点,不过数据量再大都不怕... 求助,event 在IE6,ie7,ie8 下提示错误 event 不能为空 组合框-数据表字段 这个JS怎么不能正常显示当前的时间 我想将字符串中的=替换 怎么操作 js问题 文本框如何初始化的时候清空里面的历史记录? Js小菜鸟,怎么能让修改,取消,保存多次应用,怎么修改,不会啊 定时运行代码 如何在“textarea”中显示数据库的内容! 关于onmouseover和onmouseout在嵌套标签中的问题!!!! 高难度问题!在线等~~~ frame的使用!如何退出当前的frame并转到一个非frame页中?
这样子就可以在页面里不刷新的情况下动态列表了。<?php
$abc = "vvvv";
$cde = "dddd";echo <<<output
<script language="javascript">
abc = $cde;
alert("$abc"+" "+abc);
</script>
output;
?>
先把数据存到数组里面,再对数组进行操作..<%
dim conn
dim connstr
on error resume next
connstr="DBQ="+server.MapPath("test.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.CreateObject("ADODB.CONNECTION")
conn.open connstr
%><script language = "JavaScript">
sall=new Array();
<%
Dim i
i=0
set rs=conn.execute("select * from subject")
do while not rs.eof
%>
sall[<%=i%>]=new Array("<%=rs("subjectname")%>","<%=rs("departid")%>","<%=rs("subjectid")%>");
<%
i=i+1
rs.movenext
loop
rs.close
%>
function changeselect(selvalue)
{
document.myform.Nclassid.length=0;
var selvalue=selvalue;
var i;
for(i=0;i<sall.length;i++)
{
if(sall[i][1]==selvalue)
{
var newOption1=new Option(sall[i][0],sall[i][2]);
document.all.Nclassid.add(newOption1);
}
}
}
</script>
<form method="post" name="myform" action="ru_query.asp">
<select name="classid" onChange="changeselect(document.myform.classid.options[document.myform.classid.selectedIndex].value)" size="1">
<option selected value="">未指定条件</option>
<%
set rs1=conn.execute("select * from depart")
do while not rs1.eof
response.write "<option value='"&rs1("departid")&"'>"&rs1("departname")&"</option>"&chr(13)+chr(10)
rs1.movenext
loop
rs1.close
%>
</select>
<select name="Nclassid">
<option selected value="">未指定</option>
</select> 数据库设计表depart
字段
departID 自动编号
departName 文本 '省份表subject
字段
subjectID 自动编号
subjectName 文本 '城市
departID 数字 '所属省份ID