北天软件科技公司
北天软件集网站建设、网站开发、软件开发、网站优化SEO、网站宣传、网站开发成一体的网络公司。北天软件是专业的网站建设、网站开发、设计、制作和网站国际推广、搜索引擎推广的网络公司。口号:考虑企业所需,实现企业所想。JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!   旧版java技术网 | 设为首页 | 加入收藏 | RSS订阅地图
热情推荐JavaCMS自助建站系统免费下载
初学者园地  javascript  java技术  .Net技术 XML/WebService  数据库技术  web2.0技术  设计模式  设计框架  SEO技术  综合知识
您现在的位置是: 北天软件门户网>>.Net技术>>详细信息
指定位置插入option
问题描述




对于select控件 1 2 3,我们可以通过它的options.add(new Option(v,t))的方法动态的插入一个option选项,但是新增的option的位置只能在最后,却不能插入到指定的任意位置。



解决方法



既然select的options属性提供的方法无法实现上面的需求,那么只好找办法了。我们知道html控件都有一个insertBefore的方法,用以在指定位置插入子控件,这个方法也许可以使用,不妨测试一下,呵呵,真的可以。不过对于IE和firefox,还是有细节的差别。



浏览器兼容




对于FireFox,我们可以直接使用 selectCtl.insertBefore(new Option('value', 'text'), selectCtl.options[i]);这样的简单的形式在制定位置插入option,但是IE好像不行,需要使用下面的形式才可以

var option = document.createElement("option");

option.value = 'value';

option.innerText = 'text';


selectCtl.insertBefore(option, selectCtl.options[i]);



完整代码(firefox3.01,IE7测试通过)




function addAt(selectCtl,optionValue,optionText,position)


{

var userAgent = window.navigator.userAgent;

if (userAgent.indexOf("MSIE") > 0) {
var option = document.createElement("option");
option.value = optionValue;
option.innerText = optionText;
selectCtl.insertBefore(option, selectCtl.options[position]);
}
else
selectCtl.insertBefore(new Option(optionValue, optionText), selectCtl.options[position]);

}






更好的方法




上面使用增加一个新的javascript函数来解决问题, 我们还可以通过javascript中的prototype属性来完成,这样就可以给select控件增加一个新的扩展方法addOptionAt,使用 selectCtl.addOptionAt(new Option('v','t'),position)这种简洁的方式来编程了,我还没有写,所以不能给出代码了。
关闭窗口 】   【 返回首页
推荐文章
· ASP.NET26个性能优化...
· SEO优化的几点动态
· C#如何取硬件标志代码
· 关键词的几种用法
· 如何动态加载JavaScript
· 把文字变成图片的小程序
· 大文件上传开发总结集合
· .NET 3.5 SP1
· .NET世界中的AtomPub
· 命名空间和命名空间映射
· .net开发绑定到LINQ...
· .net开发绑定到ADO.NE...
· C#实现DB2数据库的编程
· VC程序开发
· 开源Erlang真的能成...
· 张亚勤回忆盖茨往事:...
· 按需配置 迎接ERP20....
· Consumer JRE:当Apple...
· 企业数据管理是SOA/BP...
· JBoss AS 5发布:项目...
北天软件科技公司 版权所有©2006-2008
精彩出品 JavaCMS自助建站 (C)2006-2008 www.it3838.com limited.all rights reserved.
Powered by JavaCMS V2.6.0