大家在过年了,有没有时间抽空帮忙一下,很急的问题,下拉框控件的使用问题

iyougis 2004-01-21 11:37:51
一个很急的确问题,今天就要解决的,大家能否牺牲一下时间帮忙一下.
本人有个系统中用到了HTML的控件DROPDOWN,就是下拉框控件了,由于要求选择一个公司内多个部门的其中一个部门,然后再从这个部门中选出一个员工,以这种控件方式显示来实现.本人用了两个这个控件,一个是部门的下拉框,一个员工的下拉框,当部门的下拉框选择的部门变化的时候,相应的员工的下拉框的员工也跟着相应的变化,也就是说当选择了一个部门之后,员工下拉框中就显示了该部门的所有员工,为实现这个功能,本人用了当该页面登录时,就从服务器端的数据库中取出该公司的所有部门和员工,用了两组数组进行分别保存所有部门(一维)和员工(二维).由于某些部门的员工数超过了200,页面显示时和进行员工选择时都特别慢,大家有什么好的办法可以解决这个问题,而且每年该公司都有员工的增加,这样更使页面的加载速度受到影响.实在想不出来用什么方法比较好,且由于时间比较急,望大家多多指点!
...全文
55 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaLights 2004-01-22
  • 打赏
  • 举报
回复
up
zwonline99 2004-01-21
  • 打赏
  • 举报
回复
当下拉框里面的内容特别多时,选择起来会很困难,必要时应该使用编辑框。
另外,如果数据量太大,可以在选择部门后向服务器提交,然后取得该部门的人员列表。
可以参考compaq网站里面的驱动程序下载页面。
TrueAndFalse 2004-01-21
  • 打赏
  • 举报
回复
帮你顶,我也遇到了相同的问题,暂时没有办法解决
也正在思考中.
ChinaLights 2004-01-21
  • 打赏
  • 举报
回复
贴出代码:
<!--#include file="name.asp"-->
<!--#include file="conn.asp"-->
<% Response.Buffer=True%>
<html>
<head><title>ww</title>
<link href="style.css" rel="stylesheet" type="text/css">

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
sqlq2 = "select * from sort2 order by id "
set rsq2=server.createobject("ADODB.Recordset")
rsq2.open sqlq2,conn,1,1
%>
<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%
count = 0
do while not rsq2.eof
%>
subcat[<%=count%>] = new Array("<%=rsq2("erlei")%>","<%= rsq2("yilei")%>","<%=rsq2("id")%>");
<%
count = count + 1
rsq2.movenext
loop
rsq2.close
set rsq2=nothing
%>
onecount=<%=count%>;

function changelocation(s1)
{
document.frmproduct.k2.length = 0;

var s1=s1;
var i;
document.frmproduct.k2.options[0] = new Option('请选择二类',0);
for (i=0;i < onecount; i++)
{
if (subcat[i][1] ==s1)
{
document.frmproduct.k2.options[document.frmproduct.k2.length] = new Option(subcat[i][0], subcat[i][2]);
}
}

}
</script>

<select name="k1" onChange="changelocation(document.frmproduct.k1.options[document.frmproduct.k1.selectedIndex].value)">通过触发一类的事件来调出二类信息
<option value=0 selected>请选择一类</option>
<%
sql="select * from sort1"
set rsq1=server.createobject("ADODB.Recordset")
rsq1.open sql,conn,1,1
while not rsq1.eof
%>
<option value="<%=rsq1("id")%>"><%=rsq1("yilei")%></option>
<%
rsq1.movenext
wend
rsq1.Close()
set rsq1=nothing
%>
</select>
二级分类
<select name="k2" style="width:100">
<option selected value=0>请选择相应的二类</option>
</select>
TrueAndFalse 2004-01-21
  • 打赏
  • 举报
回复
我现在手边没有可以测试用的程序,测试好了告诉我一声
TrueAndFalse 2004-01-21
  • 打赏
  • 举报
回复
iyougis 2004-01-21
  • 打赏
  • 举报
回复
好象不行啊,还有人在线吗?
iyougis 2004-01-21
  • 打赏
  • 举报
回复
是啊,用户要求的就是要用那样的方式.我刚才找了一些方法,不知道这个可以不可以,我现在正在修正测试.
http://expert.csdn.net/Expert/topic/2537/2537402.xml?temp=.5918085
你们看看.
TrueAndFalse 2004-01-21
  • 打赏
  • 举报
回复
真是鱼与熊掌,不可兼得啊
TrueAndFalse 2004-01-21
  • 打赏
  • 举报
回复
没有办法,程序要求就是这样,如果用编辑框的话,就会增加了出错的机率,所以只能用select
xlou 2004-01-21
  • 打赏
  • 举报
回复
同意 zwonline99(zwonline) 的意见

楼主的方式处理人数比较少的时候还可以 当多了真的是问题
!

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧