zoukankan      html  css  js  c++  java
  • 二级下拉列表的实现

    二级下拉列表的实现     

    有[group]和[user]二个数据表,要求从这两个表中读出数据,并表现为二级下拉表,当选择[group]列表中的选项时,[user]列表中的选项相应改变。

    [group]表对应的数据集为rsGroup,有如下字段:lngID_Group, strName_Group
    [user]表对应的数据集为rsUser,有如下字段:lngID_User, lngGroupID, strName_User

    思路:先建立group 和user 的下拉列表;分别读入 rsGroup 和 rsUser 的数据;再建立change_select() 函数,当group 的下拉列表被改变时,执行该函数对 user 下拉列表进行更新。


    代码如下:
    <!— group 的下拉列表-------------->
    <select name="sltGroupID"
    onChange="javascript:change_select(this.options[this.selectedIndex].value)">
    <option value="0">用户组……</option>
    <%
    For i = 1 To rsGroup.RecordCount
     Response.Write "<option value='" & lngID_Group & "'>" & strName_Group & "</option>"
     rsGroup.MoveNext
    Next
    %>
    </select>

    <!— user 的下拉列表-------------->
    <select name="sltUserID">
    <option value="0">用户……</option>
    </select>

    <script language = "JavaScript">
    //读入 rsUser的数据
    arrSelect=new Array();
    arrSelect[0] = new Array("用户……",0,0)
    <%
    For i = 1 To rsUser.RecordCount
    %>
    arrSelect[<%= i %>]=new Array("<%= strName_User %>","<%= lngGroupID %>","<%= lngID_User %>");
    <%
     rsUser.MoveNext
    Next
    %>

    //更新 user 下拉列表的函数
    function change_select(selvalue) 
    {
     document.all.sltUserID.length=0; 
     var i;
     for(i=0;i<arrSelect.length;i++)
     {
      if(arrSelect[i][1]==selvalue)
      {
       var newOption=new Option(arrSelect[i][0],arrSelect[i][2]);
       document.all.sltUserID.add(newOption);
      }
     }
    }
    </script>


    运行结果如下:
    <!— group 的下拉列表-------------->
    <select name="sltGroupID"
    onChange="change_select(this.options[this.selectedIndex].value)">
    <option selected value="0">用户组……</option>
    <option value='1'>直属机构</option>
    <option value='2'>办事处</option>
    <option value='3'>技术部</option>
    </select>

    <!— user 的下拉列表-------------->
    <select name="sltUserID">
    <option selected value="0">用户……</option>
    </select>

    <script language = "JavaScript">
    //读入 rsUser的数据
    arrSelect=new Array();
    arrSelect[0]=new Array("用户……",0,0)
    arrSelect[1]=new Array("总经办","1","1");
    arrSelect[2]=new Array("网络中心","1","15");
    arrSelect[3]=new Array("公共平台","1","4");
    arrSelect[4]=new Array("售后部","1","20");
    arrSelect[5]=new Array("广州","2","24");
    arrSelect[6]=new Array("上海","2","23");
    arrSelect[7]=new Array("售前支持","3","8");
    arrSelect[8]=new Array("研发中心","3","9");

    //更新 user 下拉列表的函数
    function change_select(selvalue) 
    {
    //同上,略。
    }
    </script>
     

  • 相关阅读:
    内存跟硬盘的区别
    MCU在电动滑板车硬件实物的设计技巧
    MCU微控制器在电动滑板车技术核心剖析
    ​FRAM技术简介
    FRAM作为代码存储器应用中的单芯片解决方案
    ​内存技术词汇表
    NV-SRAM与BBSRAM之间的比较
    非易失性存储器NV-SRAM的关键属性
    游戏机电池供电的SRAM解决方案
    个人学期期末总结和对王建民老师的评价
  • 原文地址:https://www.cnblogs.com/Spring/p/156986.html
Copyright © 2011-2022 走看看