asp js 二级联动三级联动,不自动刷新,求高手帮忙。
我是小白,求会JS的人帮助,问题出在,三级联动,一级菜单选完以后,二级菜单、三级菜单不能选择,必须先提交。然后又从修改里找进来,然后二级菜单就有选择的了,但三级又不能选择...
我是小白,求会JS的人帮助,问题出在,三级联动,一级菜单选完以后,二级菜单、三级菜单不能选择,必须先提交。然后又从修改里找进来,然后二级菜单就有选择的了,但三级又不能选择。然后又要提交后,再重新进来。
对这个不懂,百度了几个小时,还是没有弄懂,只能发上来求助了。
下面是这个三级联动的源码(其中的二级菜单的那段,太长放不上来)。
<TR>
<TD align="left" class="Forumrow" ><b>网站二级类别: <font color="#FF0000">*</font></b></TD>
<TD class="Forumrow">
<div id="div_m_type2">
<Select name="m_type2" id="m_type2" onChange="Get_type2(this.value,'div_m_type3')">
<Option value="0" onClick="f_mm_type2('mm_type2',this.value)">二级类别</Option>
<%
Set oRs_t=Server.CreateObject(G_RS)
oRs_t.open "Select * from qingtiandh_type2 where typeid1="&am_type1&" order by typehide asc,typeno asc,typeid asc",conn,1,1
Do While Not oRs_t.Eof
kId=oRs_t("typeid")
kG_name=oRs_t("typename")
IF Cstr(am_type2)=Cstr(kId) Then
kS1="Selected"
Else
kS1=""
End IF
%>
<Option value="<%=kId%>"<%=kS1%> onClick="f_mm_type2('mm_type2',this.value)"><%=kG_name%></Option>
<%
oRs_t.MoveNext
Loop
oRs_t.close:Set oRs_t=Nothing
%>
</Select>
</div>
</TD>
</TR>
求帮助。8099817 展开
对这个不懂,百度了几个小时,还是没有弄懂,只能发上来求助了。
下面是这个三级联动的源码(其中的二级菜单的那段,太长放不上来)。
<TR>
<TD align="left" class="Forumrow" ><b>网站二级类别: <font color="#FF0000">*</font></b></TD>
<TD class="Forumrow">
<div id="div_m_type2">
<Select name="m_type2" id="m_type2" onChange="Get_type2(this.value,'div_m_type3')">
<Option value="0" onClick="f_mm_type2('mm_type2',this.value)">二级类别</Option>
<%
Set oRs_t=Server.CreateObject(G_RS)
oRs_t.open "Select * from qingtiandh_type2 where typeid1="&am_type1&" order by typehide asc,typeno asc,typeid asc",conn,1,1
Do While Not oRs_t.Eof
kId=oRs_t("typeid")
kG_name=oRs_t("typename")
IF Cstr(am_type2)=Cstr(kId) Then
kS1="Selected"
Else
kS1=""
End IF
%>
<Option value="<%=kId%>"<%=kS1%> onClick="f_mm_type2('mm_type2',this.value)"><%=kG_name%></Option>
<%
oRs_t.MoveNext
Loop
oRs_t.close:Set oRs_t=Nothing
%>
</Select>
</div>
</TD>
</TR>
求帮助。8099817 展开
2个回答
展开全部
由此可见,你的二级,三级菜单,估计都是ASP从数据库里读出来的,这里边有一个先后运行的顺序问题.
ASP源码是服务器执行后再发送到客户端,JS源码是先发送到客户端再执行.所以,ASP源码的执行顺序高于JS源码.
你的一级菜单产生后此时,二级,三级菜单都没有产生,所以选择一级菜单后,二,三级菜单不联动.非要你提交后服务器才会再次读取数据库产生二级三级菜单.
解决方法:
一:将你的二级三菜单,在第一次访问页面时读出来,并写成JavaScript代码,,发送给客户端.
二:做一个隐藏表单,一次选择一次提交刷新
三:使用AJAX读取页面,被读取的页面中可以存放你上边的那段源码.
第一种方法,一次性传输的数据量较多,第一次访问时,页面空白时间长
第二种方法,每次选择都要读取数据库及刷新页面,在使用过程中页面经常刷新,IIS并发连接数增大,服务器开销大,用户体验不佳
第三种方法,AJAX访问,造成IIS并发数增大,服务器开销也大,但页面仅局部刷新,注意做好读取时的用户提示,要不然用户一个劲在那点点点,,,你懂的...
ASP源码是服务器执行后再发送到客户端,JS源码是先发送到客户端再执行.所以,ASP源码的执行顺序高于JS源码.
你的一级菜单产生后此时,二级,三级菜单都没有产生,所以选择一级菜单后,二,三级菜单不联动.非要你提交后服务器才会再次读取数据库产生二级三级菜单.
解决方法:
一:将你的二级三菜单,在第一次访问页面时读出来,并写成JavaScript代码,,发送给客户端.
二:做一个隐藏表单,一次选择一次提交刷新
三:使用AJAX读取页面,被读取的页面中可以存放你上边的那段源码.
第一种方法,一次性传输的数据量较多,第一次访问时,页面空白时间长
第二种方法,每次选择都要读取数据库及刷新页面,在使用过程中页面经常刷新,IIS并发连接数增大,服务器开销大,用户体验不佳
第三种方法,AJAX访问,造成IIS并发数增大,服务器开销也大,但页面仅局部刷新,注意做好读取时的用户提示,要不然用户一个劲在那点点点,,,你懂的...
追问
您好,感谢您的回答,我刚刚按您说的百度了一下,结果还是不行,毕竟对于js我没有基础,看不懂,也不太好理解。
我想问问,能不能麻烦您帮我写几行?就是您说的第二种就可以了,一个隐藏的表单,一级菜单有选择的行为,就自动提交。
麻烦您了。主要是的我这个代码是用在后台的,不是用在前台的,这样子就不必担心别人一个劲的点击,加大服务器的压力。
追答
2012年弄的东西了,,稍做了注释,凑合着看吧.
2015-02-26
展开全部
这个我会!!!!!!!!!!!!!!!!!!!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询