javascript级联选择日期(最常用的网站选择日期样式)
来源:互联网 发布:知乎日报app源代码 编辑:程序博客网 时间:2024/06/09 21:38
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
<script type="text/javascript">
/*
* javascript级联选择日期(最常用的网站选择日期样式)
* 设计和操做过程可能出现的问题:
* 1 根据年份和月份才会生成日期的下拉列表
* 2 每次点击年份和月份下拉列表,日期会重复添加,所以要清空当前的日期列表
* 3 body中的select和option标签,如果没有放在一行,清空日期的列表时,会把-请选择年份-
* 这个列表清空掉,所以要使用 dateSelect.options,只获取option标签
*/
onload = function(){
//获取年月份3个对象
var yearSelect = document.getElementById("yearSelect");
var monthSelect = document.getElementById("monthSelect");
var dateSelect = document.getElementById("dateSelect");
//生成年份和月份下拉列表
genarateYear();
genarateMonth();
//generateDate();
//alert(genarateMonth());
//当年份和月份下拉列表被点击时,生成日期
yearSelect.onchange = generateDate;
monthSelect.onchange = generateDate;
function generateDate(){
//获取dateSelecte中的所有option,循环遍历,删除(解决日期重复的问题)
//var optionArr = dateSelect.childNodes;
var optionArr = dateSelect.options;
for(var i = 1; i < optionArr.length; i++){
dateSelect.removeChild(optionArr[i--]);
}
//dateSelect.options.length = 1; //也能解决日期重复的问题
var year = yearSelect.value;
//alert(year);
// 获取当前选中的年份和月份
var month = monthSelect.value;
if(year == "" || month == "")
return;
// 计算当前年当前月有多少天
var days = 0;
if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
days = 31;
else if (month == 2)
days = (year % 4 == 0 && year % 100 != 0 ) || (year % 400 == 0) ? 29 : 28;
else
days = 30;
// 创建option, 添加到dateSelect
for(var i = 1; i <= days; i++){
var option = document.createElement("option");
option.value = i;
option.innerHTML = i;
dateSelect.appendChild(option);
}
}
//生成和显示年份的下拉列表
function genarateYear(){
var currentYear = new Date().getFullYear();
for(var i = currentYear; i > currentYear - 150; i--){
var option = document.createElement("option");
option.value = i;
option.innerHTML = i;
yearSelect.appendChild(option);
}
}
//生成和显示月的你的下拉列表
function genarateMonth(){
for(var i = 1; i <= 12; i++){
var option = document.createElement("option");
option.value = i;
option.innerHTML = i;
monthSelect.appendChild(option);
}
}
}
</script>
</head>
<body>
<select id="yearSelect">
<option value="">-请选择年份-</option>
</select>
<select id="monthSelect">
<option value="">-请选择月份-</option>
</select>
<select id="dateSelect">
<option value="">-请选择日期-</option>
</select>
</body>
</html>
- javascript级联选择日期(最常用的网站选择日期样式)
- 选择样式的日期时间js代码
- javascript日期选择
- javascript日期选择控件
- JavaScript 日期选择控件
- JavaScript选择当天日期
- Javascript实现日期的连动选择
- Javascript实现日期的连动选择
- Javascript实现日期的联动选择代码
- javascript实现的一个日期选择控件
- javascript实现的日期选择插件
- javascript 日期选择(二种)
- Javascript日期选择控件(1)
- Javascript日期选择控件(2)
- Javascript日期选择控件(3)
- Javascript日期选择控件(4)
- Javascript日期选择控件(5)
- Javascript日期选择控件(6)
- Struts2学习笔记1
- uboot 启动WinCE
- 部署Vista – 第2部分:理解Windows安装程序和Windows映像文件格式
- C#修改txt文本内容的方法
- 3_18_周末
- javascript级联选择日期(最常用的网站选择日期样式)
- 部署Vista – 第3部分:理解配置传送
- 分区split ORA-14074
- 部署Vista – 第4部分:理解部署场景
- 献给刚出校门单纯的自己
- 部署Vista – 第5部分:使用Sysprep
- 改进的筛素数法
- javascript中对表格的操作:创建表格 删除行 删除列 交换行 交换列
- 部署Vista – 第6部分:使用Windows SIM