用ASP程序实现二级下拉列表

王朝asp·作者佚名  2006-11-24
宽屏版  字体: |||超大  

有[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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有