| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2090 人关注过本帖, 1 人收藏
标题:如何根据选择下拉列表来变换相应的内容~
只看楼主 加入收藏
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
结帖率:0
收藏(1)
 问题点数:0 回复次数:14 
如何根据选择下拉列表来变换相应的内容~
如何添加代码,使得根据选择不同的类别,如“小学”或者“初中” ,使的下面的内容也随之改变呢?
程序代码:
<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
sldtk1
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:624
专家分:258
注 册:2006-5-4
收藏
得分:0 
比较简单的做法是SelectedIndex
然后加个判定
2008-10-27 14:04
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
<script language="javascript">
function newsclass_Change(clsValue)
{
   var Url=self.location.herf;
   if(Url.indexOf('?')!=-1)
      self.location=Url+"&clsValue="+clsValue;
   else
      self.location=Url+"?clsValue="+clsValue;
}
</script>
<select name="newsclass" id="newsclass" 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>

<table width="150" height="100" border="1">
  <tr>
    <td>
    <%
       Dim ClsValue
       ClsValue=Reuqest("clsValue");
       IF ClsValue<>"" Then
          '这里写获取ClsValue(下拉列表框选择值)后的代码
       End IF
    %>
    </td>
  </tr>
</table>
2008-10-27 14:11
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
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
asp代码写在"<%"  "%>",楼上的写法不对吧?
2008-10-28 00:54
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
yms123 版主在吗? 帮忙看看啊 ~~~~~~~
2008-10-28 14:08
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
<%
       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
               Response.Write "<table><tr><td>"
               Response.Write Setlen(rs("news_head"),18)
               Response.Write "</td></tr></table>"
               rs.movenext
            loop
         end if
      End IF
    %>
2008-10-28 15:03
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
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
ClsValue=Reuqest("clsValue");
把后面的“;”去掉
2008-10-29 14:20
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
依然有问题,去掉 ; 后

提示

类型不匹配: 'Reuqest'
2008-10-29 15:48
快速回复:如何根据选择下拉列表来变换相应的内容~
数据加载中...
 
   



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

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