年月日三级联动(纯JS)
2016-07-06 08:07
603 查看
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
var currentDate = new Date();
var currentYear;
var currentMonth;
$(function(){
renderYearSelect();
renderMonthSelect();
renderDaySelect(currentMonth);
})
// 生成【年份】下拉框的内容
function renderYearSelect(){
currentYear = currentDate.getFullYear();
for(var i = currentYear - 50; i < currentYear + 10; i++){
$("#yearSelect").append("<option>"+i+"</option>");
}
$("#yearSelect option[value="+currentYear+"]").attr("selected", "selected");
}
function renderMonthSelect(){
currentMonth = currentDate.getMonth() + 1;
for(var i = 1; i <= 12; i++){
$("#monthSelect").append("<option value="+i+">"+i+"</option>");
}
$("#monthSelect option[value="+currentMonth+"]").attr("selected", "selected");
}
// 生成【日】下拉框的内容
function renderDaySelect(month){
$("#daySelect").empty();
var currentDays = computeDays(month);
for(var i = 1; i <= currentDays; i++){
$("#daySelect").append("<option>"+i+"</option>");
}
}
function computeDays(month){
if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
return 31;
}
else if(month == 4 || month == 6 || month == 9 || month == 11){
return 30;
}
else{
if( isLeapYear(currentYear)){
return 29;
}
else{
return 28;
}
}
}
function isLeapYear(year){
if(year % 400 == 0){
return true;
}
else if (year % 4 == 0 && year % 100 != 0)
{
return true;
}
else{
return false;
}
}
function changeMonth(){
currentMonth = $("#monthSelect").val();
renderDaySelect(currentMonth);
}
function changeYear(){
currentYear = $("#yearSelect").val();
changeMonth();
}
</script>
<body>
<select id="yearSelect" style="width:100px;" onchange="changeYear()">
</select>
<select id="monthSelect" onchange="changeMonth()">
</select>
<select id="daySelect">
</select>
</body>
<script type="text/javascript">
var currentDate = new Date();
var currentYear;
var currentMonth;
$(function(){
renderYearSelect();
renderMonthSelect();
renderDaySelect(currentMonth);
})
// 生成【年份】下拉框的内容
function renderYearSelect(){
currentYear = currentDate.getFullYear();
for(var i = currentYear - 50; i < currentYear + 10; i++){
$("#yearSelect").append("<option>"+i+"</option>");
}
$("#yearSelect option[value="+currentYear+"]").attr("selected", "selected");
}
function renderMonthSelect(){
currentMonth = currentDate.getMonth() + 1;
for(var i = 1; i <= 12; i++){
$("#monthSelect").append("<option value="+i+">"+i+"</option>");
}
$("#monthSelect option[value="+currentMonth+"]").attr("selected", "selected");
}
// 生成【日】下拉框的内容
function renderDaySelect(month){
$("#daySelect").empty();
var currentDays = computeDays(month);
for(var i = 1; i <= currentDays; i++){
$("#daySelect").append("<option>"+i+"</option>");
}
}
function computeDays(month){
if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
return 31;
}
else if(month == 4 || month == 6 || month == 9 || month == 11){
return 30;
}
else{
if( isLeapYear(currentYear)){
return 29;
}
else{
return 28;
}
}
}
function isLeapYear(year){
if(year % 400 == 0){
return true;
}
else if (year % 4 == 0 && year % 100 != 0)
{
return true;
}
else{
return false;
}
}
function changeMonth(){
currentMonth = $("#monthSelect").val();
renderDaySelect(currentMonth);
}
function changeYear(){
currentYear = $("#yearSelect").val();
changeMonth();
}
</script>
<body>
<select id="yearSelect" style="width:100px;" onchange="changeYear()">
</select>
<select id="monthSelect" onchange="changeMonth()">
</select>
<select id="daySelect">
</select>
</body>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享