| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2088 人关注过本帖, 1 人收藏
标题:如何根据选择下拉列表来变换相应的内容~
取消只看楼主 加入收藏
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
结帖率:0
收藏(1)
 问题点数:0 回复次数:6 
如何根据选择下拉列表来变换相应的内容~
如何添加代码,使得根据选择不同的类别,如“小学”或者“初中” ,使的下面的内容也随之改变呢?
程序代码:
<body>
<select name="select">
    <option selected="selected">小学</option>
    <option>初中</option>
  </select>

<table width="150" height="100" border="1">
  <tr>
    <td>根据选择变化内容</td>
  </tr>
</table>
</body>


当然我的 select 是动态读取数据库的:
<select name="newsclass" id="newsclass">
         <% '从newsclass表中读取类别                                                                        
        Set Rs1 = Server.CreateObject("ADODB.RecordSet")
        Sql1="Select * From newsclass where class in(5,6,7) order by id asc"
        Rs1.Open Sql1,conn,3,3
        Do While not Rs1.EOF
        Response.Write "<option value=" & Rs1("class") & ">" & Rs1("title") & "</option>"
        Rs1.MoveNext
        Loop
        Rs1.Close
        Set Rs1=nothing
      %>
 </select>



[[it] 本帖最后由 sjzfls 于 2008-10-27 09:24 编辑 [/it]]
搜索更多相关主题的帖子: 列表 选择 
2008-10-27 09:22
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
非常感谢 yms123 斑竹的帮助~~~ 我就是想要这样的代码写法!~

不过有些问题:
我这样的改的

........
........
前面都是按斑竹说的代码,就下面
[bo] <%
       IF ClsValue<>"" Then

          '这里写获取ClsValue(下拉列表框选择值)后的代码
       End IF
    %>[/bo]

改成
[bo]<%
       IF ClsValue<>"" Then
<%
exec="select top 5 * from news order by id desc "
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<%
if rs.eof and rs.bof then
response.write("暂时没有数据")
else
do while not rs.eof
%>
                <table><tr><td>
               <%response.write(Setlen(rs("news_head"),18))%>
                </td></tr></table>
<% rs.movenext
loop
end if
%>'这里写获取ClsValue(下拉列表框选择值)后的代码
       End IF
    %>[/bo]

后提示错误阿

[bo]提示如下:[/bo]
ClsValue=Reuqest("clsValue");
<%
IF ClsValue<>"" Then
<%
exec="select top 5 * from news order by id desc "[0]Script error detected at line 1150,col[35].
Source line: ClsValue=Reuqest("clsValue");
Description: 语句未结束

这是咋回事啊??

[[it] 本帖最后由 sjzfls 于 2008-10-28 00:09 编辑 [/it]]
2008-10-28 00:07
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
yms123 版主在吗? 帮忙看看啊 ~~~~~~~
2008-10-28 14:08
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
斑竹
有些问题啊,就是如果这样写
<%
       IF ClsValue<>"" Then
.....

虽然不提示错误但  不显示数据,就是无论是“小学”,还是“初中”选项下,都没内容~~

如果写成:
<%
       Dim ClsValue
       ClsValue=Reuqest("clsValue");
       IF ClsValue<>"" Then
.......

则提示
Microsoft VBScript 编译器错误 错误 '800a0401'

语句未结束

/right.asp,行305

ClsValue=Reuqest("clsValue");
----------------------------^
2008-10-29 13:22
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
依然有问题,去掉 ; 后

提示

类型不匹配: 'Reuqest'
2008-10-29 15:48
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
太粗心了 ~~~  我是头猪!!!

修改后现在显示是 正常了~ 可是在相对应的项目下面不显示数据,就是无论是“小学”,还是“初中”选项下,都没内容~~

2008-10-31 11:44
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
老大,还是出现了问题,就是现在数据都出来了,无论点击“小学”,还是“初中”选项下,内容都不变,全部都读出来了~~(并且选项也不能变换了,点击“初中”,还是显示“小学”选项卡)

我最终的修改代码如下:
<script language="javascript">
function newsclass_Change(clsValue)
{
  var Url=self.location.href;
  if(Url.indexOf("clsValue")==-1)
  {
     if(Url.indexOf('?')==-1)
        self.location=Url+"?clsValue="+clsValue;
     else
        self.location=Url+"&clsValue="+clsValue;
  }
  else
  {
     Url=Url.replace("clsValue=<%=Request("clsValue")%>","clsValue="+clsValue);
     self.location=Url;
  }
}
</script>
<select name="newsclass" id="newsclass" style="width:85px" onChange="newsclass_Change(this.options[this.selectedIndex].value);">
<% '从newsclass表中读取类别                                                                        
        Set Rs1 = Server.CreateObject("ADODB.RecordSet")
        Sql1="Select * From newsclass where class in(5,6,7) order by id asc"
        Rs1.Open Sql1,conn,3,3
        Do While not Rs1.EOF
        Response.Write "<option value=" & Rs1("class") & ">" & Rs1("title") & "</option>"
        Rs1.MoveNext
        Loop
        Rs1.Close
        Set Rs1=nothing
      %>
</select>
<%Dim ClsValue
       ClsValue=Request("clsValue")
       IF ClsValue<>"" Then%>

<%
exec="select top 5 * from news where class in(5,6,7) order by id desc "
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<%
if rs.eof and rs.bof then
response.write("暂时没有数据")
else
do while not rs.eof
%>
<%
response.write(Setlen(rs("news_head"),18))
%>
<% rs.movenext
loop
end if
%>
<%end if%>

麻烦老大了~~~
2008-10-31 14:05
快速回复:如何根据选择下拉列表来变换相应的内容~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013084 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved