<script language="javascript">
<!--
<%
Dim rsa,sqla
set rsb=server.createobject("adodb.recordset")
sqlb = "select * from SmallClass where BigClassName='"&"外语考试辅导"&"'"
rsb.open sqlb,conn,1,1
set rs=server.createobject("adodb.recordset")
sql = "select * from SSmallClass"
rs.open sql,conn,1,1
%>
var onecount;
subcat = new Array();
<%
count = 0
do while not rs.eof
%>
subcat[ <%=count%>] = new Array(" <%= trim(rs("SSmallClassName"))%>"," <%= trim(rs("SmallClassName"))%>"," <%= trim(rs("SSmallClassName"))%>");
<%
count = count + 1
rs.movenext
loop
rs.close
%>
onecount= <%=count%>;
function changelocation(locationid)
{
document.myform.SmallClassName.length = 1;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.myform.SmallClassName.options[document.myform.SmallClassName.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
-->
</script>
<form name="myform" method="post" action="Enshop.asp">
<select name="BigClassName" onChange="changelocation(document.myform.BigClassName.options[document.myform.BigClassName.selectedIndex].value)" size="1">
<option selected value="">请选择课程类别 </option>
<%
if not (rsb.bof and rsb.eof) then
rsb.movefirst
do while not rsb.eof
response.Write " <option value='" & trim(rsb("SmallClassName")) & "'>" & trim(rsb("SmallClassName")) & " </option>"
rsb.movenext
loop
end if
rsb.close
%>
</select>
<select name="SmallClassName">
<option selected value="">请选择课程 </option>
</select>
----------------------------------------------------------------
<%@ page import="java.util.Date,yava.fileapp.*,java.sql.*;"
contentType="text/html;charset=GB2312" pageEncoding="GB2312"
%>
<style>
.f9{ font-size:9pt; }
.bgc{ background-color:#AECAF9; color: #0033FF }
.buttons{font-family:Arial; font-size:13px; font-weight:bold; background-color:#6796E4; color:white; border-top: solid 2px #AACAFB;
border-bottom: solid 1px #4E7DC1;
border-left: solid 1px #AECAF9;
border-right: solid 1px #5679BD;
padding:1px;
margin:0px;}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
function rv()
{
var val="";
for(i=0;i<combo_box.list2.length;i++){
val+=","+combo_box.list2[i].value;
}
if(val.charAt(0)==","){
val=val.substr(1,val.length);
}
opener.form1.frecname.value=val;
self.close();
}
//-->
</SCRIPT>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<jsp:useBean id="user" scope="session" class="yava.fileapp.UserBean" />
<%
CDataSource ds=new CDataSource(); //数据联结Bean实例
java.sql.Connection conn=ds.getConnection();
java.sql.Statement stmt=null;
java.sql.ResultSet rs=null;
CDataCheck dc=new CDataCheck();
%>
<%
String sqlu="SELECT t1.fno, t1.fname, t2.fname AS fdept FROM tuser t1 LEFT OUTER JOIN TDept t2 ON t1.fdept = t2.fno order by t2.fname";
stmt=conn.createStatement();
rs=stmt.executeQuery(sqlu);
%>
<script language='Javascript'>
arr = new Array();
<% int temp=0;
while(rs.next())
{
%>
arr[<%=temp%>]=new Array("<%=rs.getString("fname")%>","<%=rs.getString("fdept")%>");
<%
temp = temp + 1;
}
%>
temp=<%=temp%>;
function ChangeLocation(id){
document.combo_box.city.length=0; //初始化第2级菜单的长度,下标从0开始
var i = 0;
document.combo_box.city.options[0]=new Option('-------','');
for(i=0;i<temp;i++){
if(arr[i][1]==id){//如果相等,证明在第2级里面有输入第1级组织的子集,arr[总数目][部门]
document.combo_box.city.options[document.combo_box.city.length] = new Option(arr[i][0], arr[i][0]);
}
}
}
</script>
<form name="combo_box">
<table border="0" cellspacing="0" cellpadding="0" height="210" width="59">
<tr height="24">
<td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>部门选择</font></td>
<td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>人名选择</font></td>
<td bgcolor="#336699" class="buttons" align=center nowrap><font color=#ffffff>添加/移除</font></td>
<td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>最终人</font></td>
</tr>
<tr>
<td>
<select multiple id=prov name="prov" onchange="ChangeLocation(combo_box.prov.options[combo_box.prov.selectedIndex].text);" style="width:150;height:200" class="bgc">
<option value="0">请选择部门 ---></option>
<%
String sqld="SELECT * FROM tdept";
stmt=conn.createStatement();
rs=stmt.executeQuery(sqld);
while(rs.next())
{
%>
<option name="<%=rs.getString("fno")%>"><%=rs.getString("fname")%></option>
<%
}
%>
</select>
</td>
<td>
<select multiple id=city style="width:150;height:200" class="bgc">
</select>
</td>
<td nowrap align="center" class="bgc">
<input type="button" onClick="move(this.form.list2,this.form.city)" value="<<" class="buttons">
<input type="button" onClick="move(this.form.city,this.form.list2)" value=">>" class="buttons">
</td>
<td>
<select multiple size="10" name="list2" style="width:150;height:200" class="bgc">
</select>
</td>
</tr>
<tr class="bgc">
<td colspan="4" align="center"><input type="button" name="button1" class="buttons" value="选好了!" onclick="rv();"></td>
</tr>
</table>
</form>
<script language="JavaScript">
//人名移动
function move(fbox, tbox) {
var arrFbox = new Array();
var arrTbox = new Array();
var arrLookup = new Array();
var i;
for (i = 0; i < tbox.options.length; i++) {
arrLookup[tbox.options[i].text] = tbox.options[i].value;
arrTbox[i] = tbox.options[i].text;
}
var fLength = 0;
var tLength = arrTbox.length;
for(i = 0; i < fbox.options.length; i++) {
arrLookup[fbox.options[i].text] = fbox.options[i].value;
if (fbox.options[i].selected && fbox.options[i].value != "") {
arrTbox[tLength] = fbox.options[i].text;
tLength++;
}
else {
arrFbox[fLength] = fbox.options[i].text;
fLength++;
}
}
arrFbox.sort();
arrTbox.sort();
fbox.length = 0;
tbox.length = 0;
var c;
for(c = 0; c < arrFbox.length; c++) {
var no = new Option();
no.value = arrLookup[arrFbox[c]];
no.text = arrFbox[c];
fbox[c] = no;
}
for(c = 0; c < arrTbox.length; c++) {
var no = new Option();
no.value = arrLookup[arrTbox[c]];
no.text = arrTbox[c];
tbox[c] = no;
}
}
</script>
</body>
--------------------------------------------------------------------
分享到:
相关推荐
在某些场景下,我们可能需要实现二级菜单,即在一级菜单的基础上展开显示二级菜单项,这通常涉及到数据的层级关系处理和UI的动态渲染。本篇将详细介绍如何利用SQLite数据库存储数据,并结合ListView来实现二级菜单的...
本文将深入探讨如何使用JavaScript来实现一个功能完备、交互友好的二级导航菜单。 首先,我们需要理解菜单的基本结构。一个简单的二级导航菜单通常由一级菜单项和二级子菜单组成。一级菜单通常显示在页面的顶部或...
下面我们将深入探讨二级菜单的实现方法及其在实际应用中的设计原则。 首先,二级菜单的设计应遵循易用性和可发现性的原则。用户应该能够直观地理解菜单结构,并轻松找到所需的功能。在实现上,二级菜单通常以折叠或...
在Java编程中,二级菜单的实现通常涉及到用户界面(UI)设计和数据处理。这个场景中,我们有两个关键部分:从数据库获取数据并将其转化为菜单结构,以及在前端展示这些菜单。下面将详细讲解这两个部分。 首先,让...
以上就是一个简单网页二级菜单的基本实现。通过HTML、CSS和JavaScript的结合,我们创建了一个易于理解和操作的交互式菜单。你可以根据自己的需求调整样式和交互效果,使其更符合网站的整体设计风格。在实际项目中,...
然而,题目指出这个示例只实现了二级下拉菜单,没有实现三级。扩展到三级下拉菜单,我们需要在二级菜单项内再嵌套一个`<ul>`,并重复上述过程,但要注意以下几点: - 需要分别处理不同级别的鼠标悬停事件,以避免二...
在Windows Presentation Foundation(WPF)框架中,创建自定义二级菜单是实现用户界面(UI)交互性和美观性的重要部分。WPF提供了丰富的功能和灵活性,允许开发者构建动态且具有高度定制性的界面。以下是对"wpf...
在这个"jQuery+css超滑二级下拉菜单"的实现中,开发者可能使用了如下技术: - 通过jQuery的`.hover()`方法监听主菜单项的鼠标悬停事件,触发子菜单的显示和隐藏。 - 使用CSS3的`transform`属性改变子菜单的`...
"jQuery个性动画二级下拉导航菜单"就是一个专为提升用户体验而设计的交互式菜单方案。这个项目利用了JavaScript库jQuery 1.8.3的强大力量,结合精心设计的动画效果,为用户提供了直观且吸引人的二级下拉菜单。 ...
本文将深入探讨如何在Android中实现二级菜单以及标题栏菜单,以创建一个层次分明、操作便捷的交互界面。 首先,我们来了解Android中的菜单概念。Android菜单主要分为两种类型:选项菜单(OptionsMenu)和上下文菜单...
这个"一个和数据库关联的,二级联动菜单示例ajax实现"是一个实用的代码示例,它展示了如何利用AJAX(异步JavaScript和XML)技术动态加载并更新二级菜单的内容,根据用户在一级菜单中的选择。 首先,我们来理解一下...
本篇文章将详细介绍如何使用 JavaScript 实现二级菜单的联动效果。 首先,我们需要在 HTML 中设置基础的结构。二级菜单通常由一个主菜单(一级菜单)和一组子菜单(二级菜单)组成。以下是一个简单的 HTML 结构示例...
动态二级菜单的核心在于通过CSS实现鼠标悬停时的响应效果。当用户将鼠标悬停在一级菜单项上时,相应的二级菜单会滑出,提供更多的选项。实现这一效果通常需要以下步骤: 1. **HTML结构**:首先,我们需要构建HTML...
在这个场景中,"asp 二级下拉菜单 二级菜单" 的目标是利用ASP技术实现一个可以展示网站栏目二级子菜单的下拉功能。 首先,我们来看看`main.asp`文件。这个文件很可能是页面的主要入口点,包含整个下拉菜单系统的...
Access数据库-二级下拉菜单制作
接下来,我们讨论如何实现二级菜单的展开功能。这通常涉及到递归或者嵌套RecyclerView。以下是实现步骤: 1. 创建子RecyclerView:为每个一级菜单项创建一个嵌套的RecyclerView,用于展示二级菜单项。 2. 适配器...
在这个“供用户选择的二级菜单实现”中,我们将深入探讨如何有效地创建这样一个功能,以提供用户友好的体验。 首先,二级菜单的基本概念是它位于一级菜单之下,当用户点击一级菜单项时展开,显示相关的子选项。这种...
"js实现横向弹出二级菜单"是一种常见的交互设计技术,尤其适用于英文网站,因为英文单词通常较长,横向展示能更有效地利用空间,提供清晰的视觉层次。这个技术的核心是利用JavaScript语言来动态控制菜单的显示与隐藏...
在IT领域,二级联动菜单是一种常见的...这个资源“二级联动菜单 超强超简单的数据库”为开发者提供了实现这一功能的工具和数据,无论是初学者还是有经验的开发者,都能从中获益,快速搭建出自己的二级联动菜单系统。
### 鼠标悬浮显示二级菜单效果的实现 #### 1. HTML布局 在实现鼠标悬浮显示二级菜单效果之前,我们需要定义页面的基本结构。通过HTML代码,我们可以创建一个带有子菜单的父级菜单项。在这个例子中,我们使用了一个`...