当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 改进版:在select中添加、修改、删除option元素

Javascript
JavaScript如何重构嵌套循环和递归
JS应用在Firebug中的扩展架构模式
提升JS性能:将递归转换为迭代
IE7浏览器下缩放图片失真问题
JavaScript对DOM进行操作的指导性原则
JavaScript有趣实例:胸罩罩杯尺寸计算器
Firefox的Firebug扩展:FireScope
Mozilla的JavaScript引擎__noSuchMethod__()方法
JavaScript+CSS制作的网站导航菜单
javascript的私有成员(private)
Javascript绘制分析曲线图
ie6使用js支持hover伪类
收集的25个下拉网页菜单特效Javascript脚本
Javascript框架的自定义事件
总结Javascript调用函数的方法
JS教程:call、apply、callee用法
JS教程:数组类型检测和集合检测
兼容FF的设为首页与收藏网站的JS代码
Javascript教程:PopUp对象
JS读写Cookie以及设置过期时间

Javascript 中的 改进版:在select中添加、修改、删除option元素


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

今天休完年假从家回来后,看到小林在QQ发的“监控管理示范代码”,核心原理用的是select元素的 add() 方法:
复制代码 代码如下:

function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
var word = document.createElement("OPTION");
word.text = arguments[i];
watch.keywords.add(word); // watch. is form name
}
}
function watch_add(f){ // 增加
var word = document.createElement("OPTION");
word.text = f.word.value;
f.keywords.add(word);
}

但上述 add() 方法只在IE下有效,为兼容FF和Opera,对上述代码进行了一下改进,改动后代码如下:
复制代码 代码如下:

function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
var oOption=new Option(arguments[i],arguments[i]);
document.getElementById("MySelect").options[i]=oOption;
}
}
function watch_add(f){ // 增加
var oOption=new Option(f.word.value,f.word.value);
f.keywords.options[f.keywords.length]=oOption;
}

整个实例的完整代码如下:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]