大家帮我解下.怎么样让它不刷新页面

ljlj1203 2007-10-24 06:33:15
我想做一个无刷新的二级联动,就是当选择一级的值时,不用刷新页面就可以出现第二级的相关内容,我做了个二级联动,可是他每选一次就会刷新一次页面,那样的话就会把前面表格中填的值清除掉
我的二级联动代码如下,哪位帮我改成无刷新的二级联动呀(要从数据库中搜索值)
数据库设计
FittingsType(表) id(自动编号) typename(类型名称)
mode(表) id(自动编号) mode(型号名称) typeid(父类编号)

<%
dim cid,coid
cid = request("cid") 'cid 大类id
coid = request("coid") 'coid 中类id
'set rs=server.createobject("adodb.recordset")
sql = "select * from FittingsType" '表一 大类表
rs.open sql,conn,1,1
strOption1 = "<option value='' selected >=请选择分类=</option>"
do while not rs.eof
if cstr(rs("id")) = cstr(cid) then
strOption1 = strOption1 & "<option value='" & rs("id") & "' selected>" & rs("typename") & "</option>"
else

strOption1 = strOption1 & "<option value='" & rs("id") & "'>" & rs("typename") & "</option>"

end if
rs.movenext

loop

rs.close

if cid <> "" then
sql = "select * from mode where typeid='"&cid&"'" '表二 中类表 bid==表一中的id

rs.open sql,conn,1,1
strOption2 = "<option value='' selected >=请选择型号=</option>"

do while not rs.eof
if cstr(rs("id")) = cstr(coid) then
strOption2 = strOption2 & "<option value='" & rs("id") & "' selected>" & rs("mode") & "</option>"
else
strOption2 = strOption2 & "<option value='" & rs("id") & "'>" & rs("mode") & "</option>"

end if
rs.movenext
loop
rs.close
end if
%>
<select onchange="changeb(this.value)" name="cid"><%=strOption1%></select>
<select onchange="change(this.value)" name="coid"><%=strOption2%></select>
<script language="javascript">
<!--
function changeb(cid){
location.assign("Wf_login.asp?action=s_s&cid=" + cid);
}


-->
</script>
...全文
63 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljlj1203 2007-10-24
  • 打赏
  • 举报
回复
谢谢楼上的兄弟,卡了几天的问题终于解决了
谢谢
msd88 2007-10-24
  • 打赏
  • 举报
回复
无刷新二级联动,先获取全部小类,然后用JS进行变更

<%
dim cid,coid
cid=Request("cid")
coid=Request("coid")
Set rs=CreateObject("adodb.recordset")
rs.open "Select * from FittingsType",conn,1,1 '获取大类数据
strOption1 = " <option value= ''>=请选择分类= </option >"
do while not rs.eof
if cstr(rs("id")) = cstr(cid) then
strOption1 = strOption1 & " <option value='" & rs("id") & "' selected >" & rs("typename") & "</option >"
else
strOption1 = strOption1 & " <option value= '" & rs("id") & "'>" & rs("typename") & "</option >"
end if
rs.movenext
loop
rs.close

rs.open "Select * from mode",conn,1,1 '获取小类数据
%>
<script language="javascript">
<!--
//先定义大类和小类数组
var minclass=Array();
<%
js=0
do while not rs.eof%>
minclass[<%=js%>]=new Array("<%=rs("id")%>","<%=rs("mode")%>","<%=rs("typeid")%>");
<%rs.movenext
js=js+1
loop
rs.Close
Set rs=nothing
Conn.Close
Set Conn=nothing
%>

function changesmall()
{
var indexvalue=document.all("cid").options[document.all("cid").selectedIndex].value;
var j=0;
document.all("coid").length = 0;
document.all("coid").options[0]=new Option("=请选择型号=","0");
for(i=0;i<minclass.length;i++)
{
if(minclass[i][2]==indexvalue)
{
document.all("coid").options[document.all("coid").length]=new Option(minclass[i][1],minclass[i][0]);
}
}
}
function setvalue(cvalue)
{
var m,n;
m=document.all("coid").length;
for(n=0;n<m;n++)
{
if(document.all("coid").options[n].value==cvalue)
{
document.all("coid").selectedIndex=n;
return;
}
}
}
-->
</script>
<script language="javascript" defer="defer">
setvalue("<%=coid%>");
</script>
<select onchange="changesmall()" name="cid" > <%=strOption1%> </select >
<select name="coid">=请选择型号=</select>


ljlj1203 2007-10-24
  • 打赏
  • 举报
回复
ASP
可以用其它的语言,不过,我只会用ASP
可以帮我改,如果有无刷新的二级联动也可以
nicholsky 2007-10-24
  • 打赏
  • 举报
回复
用JS。
yzxlyd 2007-10-24
  • 打赏
  • 举报
回复
http://www.pay4done.cn/ShowLog.Asp?LogID=48
http://mysheji.com/blog/article.asp?id=287
ljlj1203 2007-10-24
  • 打赏
  • 举报
回复
ASP
可以用其它的语言,不过,我只会用ASP
可以帮我改,如果有无刷新的二级联动也可以
karlpan01 2007-10-24
  • 打赏
  • 举报
回复
vbscript?
不太懂!

28,390

社区成员

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

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