当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript 生成无限下拉列表实现代码

Javascript
javascript下操作css的float属性的特殊写法
javascript之DIV拖动类 支持在FF下拖动,调用简单
Expandable "Detail" Table Rows
用javascript实现给出的盒子的序列是否可连为一矩型
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
JS创建优美的页面滑动块效果 - Glider.js
发一个比较漂亮的选项卡动态增删的效果
可多次使用的仿126邮箱选项卡的源码
javascript仿XP关机效果的弹出窗口功能
JS控制CSS样式的方法
非常漂亮的JS代码经典广告
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
几个不错的自动收缩菜单导航效果
iframe src为图片时的高度自适应的代码
论坛转贴工具中用到的正则表达式学习正则的好例子
用javascript实现的不错的一款网页选项卡
摘自百度的图片轮换效果代码
用javascript实现旋转图片效果的代码
javascript 制作坦克大战游戏初步 图片与代码
比较简单的jquery教程 Easy Ajax with jQuery 中文版全集

Javascript 生成无限下拉列表实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 378 ::
收藏到网摘: n/a

js生成无线下拉列表的实现代码。

复制代码 代码如下:

//公司二维数组数据源
Office = [
["Dept", "ParentDept"],
["业务部", "0"],
["技术部", "0"],
["市场部", "0"],
["www.yongfa365.com", "业务部"],
["业务部小杨", "业务部"],
["业务部小菜", "业务部"],
["技术部老柳", "技术部"],
["技术部老杨", "技术部"],
["技术部老菜", "技术部"],
["市场部柳先生", "市场部"],
["市场部杨先生", "市场部"],
["市场部菜鸟", "市场部"]
]
//省市三维数组数据源
City3 = [
["Dept", "ParentId", "Id"],
["北京", "0", "010"],
["山西", "0", "0359"],
["朝阳区", "010", "001"],
["海淀区", "010", "002"],
["豆各庄", "001", "101"],
["十里堡", "001", "102"],
["中关村", "002", "201"],
["上地", "002", "202"],
["运城地区", "0359", "301"],
["太原市", "0359", "302"],
["永济市", "301", "311"],
["小区", "302", "312"]
];
//FillSelectTree("nowhaha", City3, "0", "311", -1)
//Select控件ID,数据源,父级值,选中值,第几级(用来产生分隔符)
function FillSelectTree(SelectId, ArrObj, ParentValue, SelectedValue, NowI) {
StrObj = eval(document.getElementById(SelectId));
NowI++;
//判断它是二级数据源,还是三级
if (ArrObj[0].length == 2)
{ ArrNum = 0; }
else
{ ArrNum = 2; }
//生成所有Option
for (var i = 0; i < ArrObj.length; i++) {
if (ArrObj[i][1] == ParentValue) {
StrObj.options[StrObj.length] = new Option(String("  ", NowI) + ArrObj[i][0], ArrObj[i][ArrNum]);
//选中默认值
if (ArrObj[i][ArrNum] == SelectedValue) {
StrObj.options[StrObj.length - 1].selected = true;
}
//遍历
FillSelectTree(SelectId, ArrObj, ArrObj[i][ArrNum], SelectedValue, NowI);
}
}
}

//复制字符串多少次
function String(str, nowi) {
strtemp = "";
for (var i = 0; i < nowi; i++) {
strtemp += str;
}
return strtemp;
}

点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]