当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript 日期联动选择器 [其中的一些代码值得学习]

Javascript
[JS源码]超长文章自动分页(客户端版)
注意 JavaScript 中 RegExp 对象的 test 方法
JavaScript快速排序
写的一段拖动对象的代码
用js取得鼠标所在位置的对象
如何在一段文字里点一下就可以在里面插入一段文字?
用js+cookie记录滚动条位置
记录滚动条位置(使用userdate)
强效、方便的表单通用检测JS 不错
个人总结的一些关于String、Function、Array的属性和用法
数据排序谁最快(javascript中的Array.prototype.sort PK 快速排序)
Prototype最新版(1.5 rc2)使用指南(1)
Prototype使用指南之string.js
Prototype使用指南之base.js
Prototype使用指南之enumerable.js
Prototype使用指南之array.js
Prototype使用指南之range.js
Prototype使用指南之ajax
Prototype使用指南之dom.js
Prototype使用指南之selector.js

Javascript 中的 javascript 日期联动选择器 [其中的一些代码值得学习]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 283 ::
收藏到网摘: n/a

javascript 日期联动选择器,简单的看了下代码非常不错,都考虑到了标准,兼容性也不错。学习js的朋友有福了。

[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

[参数说明]
复制代码 代码如下:

var dateSelector = new DateSelector(年下拉ID, 月下拉ID, 日下拉ID, {floorYear: 向前几年, ceilYear: 向后几年});
dateSelector.onStart = dateSelector.onEnd = function(){ // 自定义开始结束事件
$('info').innerHTML = this.getSelText(this.year) + '年' +
('0' + this.getSelText(this.month)).slice(-2) + '月' +
('0' + this.getSelText(this.date)).slice(-2) + '日';
}
dateSelector.init(); // 初始化开始

[说明文字]
这里生成option的方法选择了中规中矩的options[i].text = options[i].value = i;
期间用过一个这个方法:
container.options[container.options.length] = new Option(i, i, false, (i == sign ? true : false))
这个new Option有4个参数可用(text, value, defaultSelected, selected); 最后一个参数可以设置选中.
但一直没有查到官方资料. 在IE6中也遇到了BUG.大家有用过的请指正.
BUG演示
这个在IE7,IE8,FF3等都没问题.但在IE6就会选中的是前一个.现在还未知原因. (经过确认好像是IE Tester的问题.那么下面这个方案也是个简洁的生成option方案)

测试代码:
复制代码 代码如下:

<select id="year"></select>
<script type="text/javascript">
<!--
var osel = document.getElementById('year');
var sign = 2008;
for(var i = 2001; i < 2010; i++) {
osel.options[osel.options.length] = new Option(i, i, false, (i == sign ? true : false));
}
//-->
</script>