二级下拉列表的实现
2005-05-26 22:47
495 查看
有[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>
[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>
相关文章推荐
- 二级联动菜单动态刷新下拉列表的一种实现方法
- jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
- 二级联动下拉列表JS+html实现
- struts+dwr实现下拉列表的二级联动
- java map实现二级联动查询(省市区下拉列表查询)
- 二级下拉列表的实现
- jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
- jQuery实现下拉列表的二级联动
- 原生js实现二级联动下拉列表菜单
- 实现一个二级联动的下拉列表
- Android开发实现二级联动下拉列表
- jquery实现下拉列表二级联动
- html+js+PHP(使用了smarty模板技术)+mysql实现二级动态下拉列表(select)
- 原生js实现二级联动下拉列表菜单
- ExpandableListView+Dialog实现弹出二级下拉列表选项。可自由用于Activity和Fragment中
- 二级联动下拉列表JS+html实现
- 如何用ci框架+jquery实现下拉列表二级联动
- html+js+PHP(使用了smarty模板技术)+mysql实现二级动态下拉列表(select)
- 原生js封装二级城市下拉列表的实现代码
- jQuery结合PHP+MySQL实现二级联动下拉列表[实例]