新微赢技术网

标题: 列表框联动难题求助(困扰了好久啊) [打印本页]

作者: 无形的天空    时间: 2010-1-11 06:51
标题: 列表框联动难题求助(困扰了好久啊)
请各位帮帮忙啊
我一个MDB文件,里面一张GZ表,表中有三个字段分别:时间/数量/地点

通过什么方法实行这样的效果:
在网页中添加两个列表框(select1和select2)
其中select1预先设定值为:时间/数量/地点
当我在select1中切换不同的选项时,则在select2动态列出对应select1中所选择的字段的值

如:当我在select1中选择"时间"这个字段时,则在select2中列出数据中库"时间"这个字段的所有记录
   当我在select1中切换选择到"数量"这个字段时,则在select2中列出数据中库"数量"这个字段的所有记录

请大家一定帮忙啊,在线死等
作者: 冰封シ绝恋    时间: 2010-1-11 06:51
以下是引用ljc_zy在2009-9-23 12:11的发言:

看我篇文章:

一个asp+javascript结合的二级联动的例子
<%
dim rs
dim sql
dim count
set rs=server.createobject("adodb.recordset")
sql = "select * from Nclass order by Nclassid asc"
rs.open sql,co ...
非常感谢!
这种联动的列表框不太适合我的这个要求
能否还有其它办法
作者: 市井游侠々    时间: 2010-1-11 06:51
如果数据量大的话,还是用ajax吧,那样毕竟不用一次把所有数据读出来
作者: 依依    时间: 2010-1-11 06:51
看我篇文章:

一个asp+javascript结合的二级联动的例子
<%
dim rs
dim sql
dim count
set rs=server.createobject("adodb.recordset")
sql = "select * from Nclass order by Nclassid asc"
rs.open sql,conn,1,1'打开分类
%><SCRIPT language="JavaScript">
var onecount;
onecount=0;
subcat = new Array();//用JS建一个数组
        <%
        count = 0
        do while not rs.eof '通过ASP循环来生成这个数组
        %>
subcat[<%=count%>] = new Array("<%= trim(rs("Nclass"))%>","<%= trim(rs("classid"))%>","<%= trim(rs("Nclassid"))%>");//得到SUBCAT[I]=new Array(NCLASS,CLASSID,NCLASSID)格式的数组
        <%
        count = count + 1
        rs.movenext
        loop
        rs.close
        %>
onecount=<%=count%>;
function changelocation(locationid)
    {
    document.myform.Nclassid.length = 0; //副SELECT的SELECT的个数为0
    var locationid=locationid;//声明一下
    var i;
    for (i=0;i < onecount; i++)//把数组顺次循环出来
        {
            if (subcat[i][1] == locationid)//如果上面数组中有一个是现在的LOCATIONID,也就是主SELECT改变时,document.myform.classid.options[document.myform.classid.selectedIndex].value这个值,就执行下面的
            {  
                document.myform.Nclassid.options[document.myform.Nclassid.length] = new Option(subcat[i][0], subcat[i][2]);//生成副SELECT的OPTION,document.myform.Nclassid.length,有多少个符合的数组,长度就有多少,把数组值传给OPTIONS,当到哪个相同数组时,就生成第几个OPTION,并把数组值传给OPTION
            }         
        }
         
    }     
</SCRIPT>  
主select
<SELECT name="classid" onChange="changelocation(document.myform.classid.options[document.myform.classid.selectedIndex].value)" size="1">
本文来源于网络小筑 http://www.iwebtrados.com.cn/ , 原文地址:http://www.iwebtrados.com.cn/post/11.html
作者: 青松    时间: 2010-1-11 06:51
其实这基本可以说全部是js的问题 由于asp运行的先后顺序 所以这个问题也只能先把数据读取出来 保存到数组或者变量中 然后js处理 或者可以用ajax 但是估计又搞复杂了 2#的代码改改应该也可以的




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2