js实现一个日期联动下拉菜单

作者:Qihontin 时间:2007-08-04 20:49:00 

内容摘要:这篇文章的主旨是弄清楚如何根据实际需求实现一个联动菜单以及联动菜单的原理,实例是实现一个日期选择下拉菜单。

首先来分析一下日期下拉菜单的需求。建议大家在写任何程序的时候都应该在动手编程之前想清楚自己需要些什么,这样编程才有效率。本文调试环境为IE6/firefox1.5。

年份: 一般来说有一个有效年份,比如说1900年至当前年份才是为效的,这个要根据实际需求来确定,如果是该下拉菜单是用来选择出生年月日还得把最大的年份减到一定的数目,如果有人的生日选择了2005年(即当前的年份),那是不正常的。

月份:没有什么特殊需求,不管是哪一年都是有十二个月。

天数:每个月的天数都可能是不定的,当然这可以根据一定的算法求出来,而它的根据就是当前选择的年份和月份。月份都有一个固定的天数,即一、三、五、七、八、十、十二月是三十一天,而四、六、九、十一月是三十天,二月份要根据当年是否为闰年判断是二十八天还是二十九天。求当月的天数我提出一个比较简单的算法,可以只根据当前的年份和月份就可以求出当月的天数,这会在后边讲一讲思路并将其实现。

好了,现在我们来具体实现这个日期联动下拉菜单。

联动下拉菜单是以两个或多个select元素为单位的,为了让这些菜单更多紧密的工作,我们可以实现一个类用来管理它们的初始化、事件,在这里就使用DateSelector为类名,它有三个属性,分别为年、月、日的下拉菜单,而这三个select元素是由构造函数的参数传进来的,另外为了更灵活地使用它,我们还可以再给DateSelector类的构造函数增加一个(Date对象)或三个参数(int数值),表示初始化的年月日。由于参数个数不定,我们可以不将另外增加的参数写入参数表里,而是在运行时判断arguments对象的length属性来执行不同的操作。arguments对象存储了当前函数的参数信息,可以查阅一下相关的资料比如说《Windows脚本技术》。


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>如何实现一个日期下拉菜单</title>
<script type="text/javascript">
function DateSelector(selYear, selMonth, selDay)
{
    this.selYear = selYear;
    this.selMonth = selMonth;
    this.selDay = selDay;
}
</script>
</head>
<body>
</body>
</html>

标签:联动菜单,日期,js
0
投稿

猜你喜欢

  • 使用JS的DOM文档对象模型获取前端循环的参数

    2024-04-10 13:54:46
  • MySQL 视图,第1349号错误

    2008-05-18 13:04:00
  • 基于plt.title无法显示中文的快速解决

    2023-06-17 10:16:27
  • PHPStudy hosts文件可能不存在或被阻止打开及同步hosts失败问题

    2023-06-08 10:29:10
  • 最常用的12种设计模式小结

    2024-04-29 13:17:45
  • sql format()函数的用法及简单实例

    2024-01-16 04:58:42
  • 别开生面:纯CSS实现相册滑动浏览

    2008-06-26 13:24:00
  • 浅析Python中变量用法

    2023-08-08 02:02:31
  • 只有mdf文件的数据库附加失败的修复方法分享(置疑、只读)

    2012-02-12 15:55:17
  • python 如何去除字符串头尾的多余符号

    2021-12-29 03:17:36
  • Server 对象 错误 ASP 0177 800401f3 的解决方案 Server 对象 错误 ASP 0177 800401f3

    2009-07-28 17:57:00
  • Python实现自定义读写分离代码实例

    2023-04-19 14:34:57
  • python__name__原理及用法详解

    2021-04-07 02:47:51
  • MacOS下本地golang环境搭建详细教程

    2024-04-26 17:24:53
  • 不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)

    2021-07-08 07:35:00
  • Asp与JS的数组和字符串下标介绍

    2022-10-11 13:40:25
  • MySql中流程控制函数/统计函数/分组查询用法解析

    2024-01-26 09:33:38
  • Python中使用异常处理来判断运行的操作系统平台方法

    2021-03-28 07:37:23
  • Mysql limit 优化,百万至千万级快速分页 复合索引的引用并应用于轻量级框架

    2024-01-29 03:11:36
  • opencv python 图像轮廓/检测轮廓/绘制轮廓的方法

    2022-08-13 06:54:59
  • asp之家 网络编程 m.aspxhome.com