JavaScript 日期联动选择器
作者:cloudgamer 来源:51js 发布时间:2010-08-01 10:18:00
一个日期联动选择器javascript源码,年月日联动显示,准确显示日期(包括闰年日期),可自定义日期范围。
【select】
先说清空一个select,最简单的方法是把options的length设为0就可以了:
oSelect.options.length = 0;
给select添加option,有多个方法,如果用dom的标准方法是:
var op = document.createElement("option"); op.value = i; op.innerHTML = i; oSelect.appendChild(op);
对于option有更方便的方法:
oSelect.options.add(new Option(i, i));
其中new Option的第一个参数是显示的文本值,第二个是value值。
利用options.add的第二个可选参数可以把options插入到指定的索引位置,还有一个remove方法可以移除指定索引的options。
要注意的是options下标从0开始。
不过我这里用了一个看来比较笨的方法:
oSelect.options.length = iLength;
for (var i = 0; i < iLength; i++) { oSelect.options[i].text = oSelect.options[i].value = iStart + i; }
别看这么笨,却是最有效率的,而且不用每次都清空select,下面可以测试一下:
还有一个更快的方法,就是使用outerHTML,但这个会对select本身操作而且不兼容就不推荐了。
最后就是设置默认项,一般的方法是设置selectedIndex属性:
oSelect.selectedIndex = iIndex;
但要注意的是在ie6如果用dom方法创建option,然后立即设置selectedIndex会无效。
可以测试一下(在ie6测试):
除了换另外两个方法创建select,还有三个方法解决,首先可以在添加option的同时设置:
if(i == 4){ op.selected = true; }
还可以用setTimeout延迟一下:
setTimeout(function(){ oSelect.selectedIndex = iIndex; }, 0);
最后是比较推荐的用setAttribute来设置:
oSelect.options[iIndex].setAttribute("selected", "true");
这样关于select的相关操作就介绍完了。
日期相关的操作请参考blog式日历控件
使用说明:
首先是实例化一个DateSelector,其中三个参数分别是年月日的select对象。
可选参数:
Year: 0,//年
Month: 0,//月
Day: 0,//日
MinYear: 0,//最小年份
MaxYear: 0,//最大年份
onChange: function(){}//日期改变时执行
完整代码:
下载地址:DateSelector.rar (1.50 KB)
猜你喜欢
- * address - 地址 * blockquote - 块引用 * center - 举中对齐块 * di
- 级联样式表在13年前被引入,而且被广泛使用的CSS 2.1 标准在11年前被创建,显然我们现在已经与当年相差千里了。相当了不起的是期间网站开
- 如何制作一个安全的页面?随后,让我们来编程:manage.asp' 登录页面<%@ Language=VB
- 样式表是一种为超文本标签语言提供增强补充服务的技术,可对每一个html的标签做精雕细刻的修饰。只用html制作的网页,对页面内各部分的修饰能
- 我们在平常的系统开发中常常会遇到像无限级分类这样的树型结构数据,现提供一个可用的数据库存储过程,可以完成树型结构数据的排序。环境:windo
- 核心提示:VB读取MP3文件帧的信息比特率,采样频率,播放时间Private Sub Command1_Click()On Error Go
- 如何用表单的方式推送请求的信息?具体见下:<html><head><title>答复用户信息
- 在linux服务器lvs负载均衡、双机热备应用中经常用到mysql双机热备,安装和配置过程如下:一、 安装MYSQL# cp mysql-s
- 惊叹于老外的发现 《CSS Background image on html image element?》,自己从没关注过,也没想过如此的
- 环境:A机器和B机器都是LINUX系统,但由于B机器已经空间不足,所以停掉不停操作数据库的服务后 ,准备在A机器进行导出操作。导出语句 ex
- 这些日子,几乎每个人都在谈论XML (Extensible Markup Language),但是很少有人真正理解其含义。XML的推崇者认为
- IE6下浮出层常会需要增加一个iframe来解决浮出层被Obj穿透的问题,这个是目前最有效的方案,不过这个方案本身有个缺陷,就是iframe
- 本教程中将详细阐述传统的图形设计元素是如何应用在现代(2.0时代)的页面设计中的,然后我将解释为什么它们能流行开来,以及如何、何时、在哪里使
- 最近没事,写了个在项目经常要取城市或省份名的方法,所以改成了一个类.方便以后调用//****************************
- 因为一个需求,因为自己想多了一点东西,最后发现了一个问题,一个很奇怪的问题。这个问题我想还是我自己当初想法上的出路导致的吧,但想不通为什么会
- Oracle是目前应用最广泛的数据库系统。一个完整的数据库系统包括系统硬件、操作系统、网络层、DBMS(数据库管理系统)、应用程序与数据,各
- 如果备份的数据库有2个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件
- 姓名的翻译: 英语是名(First name)在前,姓(Last name)在后。中文地址的翻译:如果你英语水平不高,填表时只要国家名用英语
- 内容摘要:在像网站首页这样的资源比较集中的页面中,那些栏目最经常被用户点击?居左居右对广告的点击率的影响是什么?“一切用数字说话”:以上问题
- 今天在使用MySQL时却不知如何处理,插入记录后不知怎样获得刚刚插入的id,查过文档后发现了select last_insert_id(),