实现的效果如下图:

页面代码

下拉框:

<select id="select3" name="select3" onchange="showlist()">
   <option value="-1">--请 选择--</option>
   <option value="1">--主题分类--</option>
   <option value="2">--体裁分类--</option>
   <option value="3">--对象分类--</option>

</select>

下面的分类页面代码:

<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr id="zt" style="display:none">
<td align="left"><asp:Literal ID="Literal1" runat="server"></asp:Literal></td>
</tr>
<tr id="tc" style="display:none">
<td align="left"><asp:Literal ID="Literal2" runat="server"></asp:Literal></td>
</tr>
<tr id="dx" style="display:none">
<td align="left"><asp:Literal ID="Literal3" runat="server"></asp:Literal></td>
</tr>
</table>
<script language="javascript" type="text/javascript">
function changeShow(str)
{
if(document.getElementByIdx('sed'+str).style.display == "none")
{
document.getElementByIdx('sed'+str).style.display = "block";
document.getElementByIdx('topimg'+str).src = "../images/minus.gif";
document.getElementByIdx('topflor'+str).src = "../images/folderopen.gif";
}
else
{
document.getElementByIdx('sed'+str).style.display = "none";
document.getElementByIdx('topimg'+str).src = "../images/plusbottom.gif";
document.getElementByIdx('topflor'+str).src = "../images/folder.gif";
}
}
function changeShow1(str)
{
if(document.getElementByIdx('second'+str).style.display == "none")
{
document.getElementByIdx('second'+str).style.display = "block";
document.getElementByIdx('timg'+str).src = "../images/minus.gif";
document.getElementByIdx('tflor'+str).src = "../images/folderopen.gif";
}
else
{
document.getElementByIdx('second'+str).style.display = "none";
document.getElementByIdx('timg'+str).src = "../images/plusbottom.gif";
document.getElementByIdx('tflor'+str).src = "../images/folder.gif";
}
}
function changeShow2(str)
{
if(document.getElementByIdx('secd'+str).style.display == "none")
{
document.getElementByIdx('secd'+str).style.display = "block";
document.getElementByIdx('tim'+str).src = "../images/minus.gif";
document.getElementByIdx('tfl'+str).src = "../images/folderopen.gif";
}
else
{
document.getElementByIdx('secd'+str).style.display = "none";
document.getElementByIdx('tim'+str).src = "../images/plusbottom.gif";
document.getElementByIdx('tfl'+str).src = "../images/folder.gif";
}
}
</script>
需要用到的JS代码:
<script language="javascript" type="text/javascript">
function showlist()
{
var o = document.getElementByIdx('select3');
var strValue = o.options[o.options.selectedIndex].value;
if(strValue == "1")
{
document.getElementByIdx('zt').style.display = "block";
document.getElementByIdx('tc').style.display = "none";
document.getElementByIdx('dx').style.display = "none";
}
else if(strValue == "2")
{
document.getElementByIdx('zt').style.display = "none";
document.getElementByIdx('tc').style.display = "block";
document.getElementByIdx('dx').style.display = "none";
}
else if(strValue == "-1")
{
document.getElementByIdx('zt').style.display = "none";
document.getElementByIdx('tc').style.display = "none";
document.getElementByIdx('dx').style.display = "none";
}
else
{
document.getElementByIdx('zt').style.display = "none";
document.getElementByIdx('tc').style.display = "none";
document.getElementByIdx('dx').style.display = "block";
}
}
</script>

后台数据绑定代码:

 #region    主题、体裁、服务对象
void ztlist()
{
数据库操作类实例化 ort ;
StringBuilder sb = new StringBuilder();
sb.Append("<div class=\"divcd\">");
DataTable dt = ort.ExcuteToDataTable("查询语句");
for (int i = ; i < dt.Rows.Count; i++)
{
if (ort.Record("查询语句")> )
{
sb.Append("<div id=\"top" + i.ToString() + "\" class=\"top0\"><img id=\"topimg" + i.ToString() + "\" src=\"../images/plusbottom.gif\" style=\"cursor:hand\" onclick=\"changeShow('"+i.ToString()+"')\"/><img id=\"topflor" + i.ToString() + "\" src=\"../images/folder.gif\" style=\"cursor:hand\" onclick=\"changeShow('"+i.ToString()+"')\"/>" + dt.Rows[i]["d_type"].ToString());
sb.Append("<div id=\"sed" + i.ToString() + "\" class=\"sed0\" style=\"display:none\">");
DataTable dts = ort.ExcuteToDataTable("绑定二级目录");
for (int j = ; j < dts.Rows.Count; j++)
{
sb.Append("<img src=\"../images/page.gif\" /><a href=\"NewsType.aspx?tid="+dts.Rows[j]["d_id"].ToString()+"\">"+dts.Rows[j]["d_type"].ToString()+"</a><br />");
}
sb.Append("</div></div>");
dts.Dispose();
}
else
{
sb.Append("<div id=\"top" + i.ToString() + "\"><img id=\"topimg" + i.ToString() + "\" src=\"../images/minus.gif\" style=\"cursor:hand\"/><img id=\"topflor"+i.ToString()+"\" src=\"../images/folder.gif\" style=\"cursor:hand\"/><a href=\"NewsType.aspx?oid="+dt.Rows[i]["d_id"].ToString()+"\">" + dt.Rows[i]["d_type"].ToString()+"</a></div>");
}
}
dt.Dispose();
Literal1.Text = sb.ToString();
ort = null;
}
void tclist()
{
实例化数据库操作类 ort ;
StringBuilder sb = new StringBuilder();
sb.Append("<div class=\"divcd\">");
DataTable dt = ort.ExcuteToDataTable("查询语句");
for (int i = ; i < dt.Rows.Count; i++)
{
if (ort.Record("查询二级目录(同上)") > )
{
sb.Append("<div id=\"first" + i.ToString() + "\" class=\"top0\"><img id=\"timg" + i.ToString() + "\" src=\"../images/plusbottom.gif\" style=\"cursor:hand\" onclick=\"changeShow1('" + i.ToString() + "')\"/><img id=\"tflor" + i.ToString() + "\" src=\"../images/folder.gif\" style=\"cursor:hand\" onclick=\"changeShow1('" + i.ToString() + "')\"/>" + dt.Rows[i]["g_type"].ToString());
sb.Append("<div id=\"second" + i.ToString() + "\" class=\"sed0\" style=\"display:none\">");
DataTable dts = ort.ExcuteToDataTable("绑定二级目录");
for (int j = ; j < dts.Rows.Count; j++)
{
sb.Append("<img src=\"../images/page.gif\" /><a href=\"NewsType.aspx?ttid=" + dts.Rows[j]["g_id"].ToString() + "\">" + dts.Rows[j]["g_type"].ToString() + "</a><br />");
}
sb.Append("</div></div>");
dts.Dispose();
}
else
{
sb.Append("<div id=\"first" + i.ToString() + "\"><img id=\"timg" + i.ToString() + "\" src=\"../images/minus.gif\" style=\"cursor:hand\"/><img id=\"tflor" + i.ToString() + "\" src=\"../images/folder.gif\" style=\"cursor:hand\"/><a href=\"NewsType.aspx?toid=" + dt.Rows[i]["g_id"].ToString() + "\">" + dt.Rows[i]["g_type"].ToString() + "</a></div>");
}
}
dt.Dispose();
Literal2.Text = sb.ToString();
ort = null;
}
void fwlist()
{
实例化数据库操作类 ort ;
StringBuilder sb = new StringBuilder();
sb.Append("<div class=\"divcd\">");
DataTable dt = ort.ExcuteToDataTable("查询语句");
for (int i = ; i < dt.Rows.Count; i++)
{
if (ort.Record("查询语句(同上)") > )
{
sb.Append("<div id=\"fit" + i.ToString() + "\" class=\"top0\"><img id=\"tim" + i.ToString() + "\" src=\"../images/plusbottom.gif\" style=\"cursor:hand\" onclick=\"changeShow2('" + i.ToString() + "')\"/><img id=\"tfl" + i.ToString() + "\" src=\"../images/folder.gif\" style=\"cursor:hand\" onclick=\"changeShow2('" + i.ToString() + "')\"/>" + dt.Rows[i]["s_type"].ToString());
sb.Append("<div id=\"secd" + i.ToString() + "\" class=\"sed0\" style=\"display:none\">");
DataTable dts = ort.ExcuteToDataTable("绑定二级目录");
for (int j = ; j < dts.Rows.Count; j++)
{
sb.Append("<img src=\"../images/page.gif\" /><a href=\"NewsType.aspx?ftid=" + dts.Rows[j]["s_id"].ToString() + "\">" + dts.Rows[j]["s_type"].ToString() + "</a><br />");
}
sb.Append("</div></div>");
dts.Dispose();
}
else
{
sb.Append("<div id=\"fit" + i.ToString() + "\"><img id=\"tim" + i.ToString() + "\" src=\"../images/minus.gif\" style=\"cursor:hand\"/><img id=\"tfl" + i.ToString() + "\" src=\"../images/folder.gif\" style=\"cursor:hand\"/><a href=\"NewsType.aspx?foid=" + dt.Rows[i]["s_id"].ToString() + "\">" + dt.Rows[i]["s_type"].ToString() + "</a></div>");
}
}
dt.Dispose();
Literal3.Text = sb.ToString();
ort = null;
}
#endregion

目前做的这个只支持二级目录,如果有兴趣的话,可以进行改造。

JS实现下拉框选中不同的项,对应显示不同的信息的更多相关文章

  1. js设置下拉框选中后change事件无效解决

    下拉框部分代码: <select id="bigType"> <option value="">请选择</option> & ...

  2. js,jquery获取下拉框选中的option

    js获取select选中的值: var sel=document.getElementById("select1"); var index = sel.selectedIndex; ...

  3. JS模拟下拉框select

    最近做的一个项目有下拉框 同事都是用的是美化控件,但是用美化控件当然是好 但是网上找的一个控件不知道扩展性怎么样?对以后的维护会不会造成有影响?比如我想增加一个功能或者减少一个功能会不会影响?还有就是 ...

  4. Js获取下拉框选定项的值和文本

    Js获取下拉框的值和文本网上提供了2种方法:但有些人很不负责任,他们根本没考虑到浏览器之间的差异导致的错误,导致很多新手琢磨了半天找不出错误! 下面我总结下Firefox和IE下获取下拉框选定项的值和 ...

  5. js改变下拉框内容

      js改变下拉框内容 CreateTime--2018年4月8日18:47:38 Author:Marydon 适用场景:通常情况下,级联菜单.通过ajax异步获取后台数据改写下拉框内容会有这种需求 ...

  6. vuetify.js框架 下拉框数据改变DOM原数据未清除

    今天遇到一个奇怪的bug 需求很简单,就是将“引擎能力”下拉框选中的值作为筛选条件传入到“样本类型”下拉框中,默认“样本类型”下拉框显示所有样本类型 看图: 如图所示,功能很简单. 其实还是对vuet ...

  7. LayUI中select下拉框选中触发事件

    代码: var form = layui.form, layer = layui.layer; // 监听 $(document).ready(function() { // select下拉框选中触 ...

  8. html根据下拉框选中的值修改背景颜色

    错误的写法 <!doctype html><html><head><meta charset="utf-8"><title&g ...

  9. JS 实现下拉框去重

    JS 实现下拉框去重 学习内容: 需求 总结: 学习内容: 需求 用 JS 下拉框去重 实现代码 <html> <head> <meta http-equiv=" ...

随机推荐

  1. 类型“XXX”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。

    问题:类型“Grid1”的控件“XXXX”必须放在具有 runat=server 的窗体标记内. 注:Grid1为表格的ID. 查找网上的解决大致为: 1)把Grid放到<form runat= ...

  2. OD学习笔记10:一个VB程序的加密和解密思路

    前边,我们的例子中既有VC++开发的程序,也有Delphi开发的程序,今天我们给大家分析一个VB程序的加密和解密思路. Virtual BASIC是由早期DOS时代的BASIC语言发展而来的可视化编程 ...

  3. 浅谈js闭包

    相信很多人只知道闭包这个词但是具体是怎么回事就不太清楚了,最近在群里有很多小伙伴讨论这个问题但还是蒙眬眬的赶脚.索性就写了这篇文章来帮助大家一起理解闭包. 变量作用域 闭包其实想明白了很简单,但是在理 ...

  4. OpenSuse13.2安装CUDA Toolkit 7.5

    此次安装过程有点曲折,不过最后还是能成功安装,由于没细细看官方的安装文档,导致花了很多时间安装,希望此文能让想装CUDA的同学少走点弯路 1.NVIDIA Driver是否要装 刚开始要装CUDA时, ...

  5. javax.net.ssl.SSLException: java.lang.UnsupportedOperationException

    Loading KeyStore C:\Tool\jdk1.7.0_71\jre\lib\security\jssecacerts... Opening connection to www.googl ...

  6. Bitly缩短网址服务 - Blog透视镜

    网站的网址过长或是含有非英文或数字符号,会导致在BBS或者微网志中分享给好友时,产生很多的不方便,Bitly是个缩短网址服务的网站,提供1个短网址转向指定到长网址,免费使用且提供统计报表,例如本篇文章 ...

  7. cf C. Tourist Problem

    http://codeforces.com/contest/340/problem/C #include <cstdio> #include <cstring> #includ ...

  8. gridview两列数据的互换

    如下图所示: GridView绑定数据的时候,若ReName列里面有数据,则显示ReName列里面的数据,如果没有数据,则显示Name列里面的数据.Name和ReName是数据表里面的两个字段< ...

  9. 【转】Ubuntu环境下SSH的安装及使用

    原文网址:http://blog.csdn.net/netwalk/article/details/12952051 SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通 ...

  10. 2013第46周四xml作为WS两端中间测试文件

    今天又到了11点多才开始写随笔记录,有点惭愧,加班回来到现在已经近2小时了,而我此刻才进入正题,之前的时间都跟MM聊天了,或许是单身久了,居然在个人情感方面感觉自己很out了,不想这些了,重点是回顾下 ...