欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

两个下拉框,取同一组数据,第二个框中不显示首先框中已选值

更新时间: 2014-01-05 00:57:03 责任编辑: Author_N1

 

两个下拉框,取同一组数据,第二个框中不显示第一框中已选值
      <select>
   <%
 Set conn=Server.CreateObject("ADODB.Connection")
    DBPath1=server.mappath("../db/db.mdb")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath1
    set rs=conn.execute("select a from b")
        do while not rs.eof   
   %>
   <option><%=rs("a")%></option>
   <%   
           rs.movenext
        loop
        %>
        </select>
      <select>
   <%
    rs.movefirst
        do while not rs.eof   
   %>
   <option><%=rs("a")%></option>
   <%   
           rs.movenext
        loop
        %>
        </select>

需要用jquery?,大家有没有类似例子?
--参考方法--
汗颜!你怎么不直接问主题,而是转个角问问题。首先while(条件){}当条件为真时就一直执行代码。不了解直接去百度学学。至于你要生成sel1,sel2,...sel6多个下拉框,而且是选项一个个递减效果可这样做。
<%
Dim list
Set conn=Server.CreateObject("ADODB.Connection")
DBPath1=server.mappath("../db/db.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath1
set rs=conn.execute("select a from b")
do while not rs.eof   
   list=list&",'"&rs("a")&"'"
   rs.movenext
Loop
Rs.Close:Set Rs=Nothing
%>
<script type="text/javascript">
    var txt=[<%=list%>];//下拉菜单文本
    var num=6;//生成几级下拉菜单(从0算起,但不可超出数组下标)
    var i_all=num>txt.length-1?txt.length-1:num;//判断是否超出数组下标
    var str="";
    for(var i=0;i<=i_all;i++){
        if(i<i_all){
            str+='<select name="sel'+i+'" onchange="option('+i+')" id="sel'+i+'">';
        }else{
            str+='<select name="sel'+i+'" id="sel'+i+'">';
        }
        if(i==0){
            for(var n=0;n<txt.length;n++){
                str+='<option>'+txt[n]+'</option>';
            }
        }
        str+='</select>';
    }
    document.getElementById("list").innerHTML=str;
    function option(i){
        if(i>=i_all)return;
        var obj=document.getElementById("sel"+i);
        var opt=obj.options;
        var thi=document.getElementById("sel"+(i+1));
        thi.innerHTML="";
        for(var n=0;n<opt.length;n++){
            if(n!=obj.selectedIndex){
                str = new Option(opt[n].text,"");
                thi.options.add(str);
            }
        }
        if(i+1<i_all)option(i+1);
    }
    option(0);
</script>
参考文章:http://www.scscms.com/html/article/2012-1171321522.html
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 00:57:03
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1748/
本文WWW.DOC100.NET DOC100.NET版权所有。