〖张偶 2004年9月〗 有[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> 
|