Django——JavaScript数级联动

写了近半个小时,记录一下。年月日三级联动,直接上代码:

<!DOCTYPE html>
<html>
<head>
	<title>link</title>
	<script type="text/javascript" src="link.js"></script>
</head>
<body onload="onload()">
<form>
	<label>出生年月:</label>
		<select id="year" onchange="onchange()"></select>年
		<select id="month" onchange="onchange()"></select>月
		<select id="date"></select>日
</form>
</body>
</html>
function onload(){
	var year=document.getElementById("year");
	var month=document.getElementById("month");
	var date=document.getElementById("date");
	var startYear=1900;
	var now=new Date();
	var endYear=now.getFullYear();
	initSelect(year,startYear,endYear);
	initSelect(month,1,12);
	initSelect(date,1,31);
	year.selectedIndex=Math.round(year.length/2);
	console.log(Math.round(year.length/2));
}

function initSelect(obj,startTime,endTime){
	for(startTime;startTime<=endTime;startTime++){
		obj.options.add(new Option(startTime,startTime));
	}
}

function onchange(){
	var year=document.getElementById("year").value;
	var month=document.getElementById("month").value;
	var date=document.getElementById("date");	
	var endDate;
	if(month==4||month==6||month==9||month==11){
		endDate=30;
	}else if (month==2) {
		if((year%4==0&&year%100!=0)||(year%400==0)){
			endDate=28;
		}else{
			endDate=29;
		}
	}else{
		endDate=31;
	}
	date.options.length=0;
	initSelect(date,1,endDate);
}

初学阶段,又写了一个更好的,同步一下:

<!DOCTYPE html>
<html>
<head>
	<title>linkage</title>
	<script type="text/javascript">
		function ymd(){
			var year=document.getElementById("year");
			var month=document.getElementById("month");
			var date=document.getElementById("date");
			var startYear=1900;
			var now=new Date();
			var endYear=parseInt(now.getFullYear());
			initSelect(year,startYear,endYear);
			initSelect(month,1,12);
			initSelect(date,1,31);
			var length=year.length;
			year.selectedIndex=Math.round(length/2);
		}


		function initSelect(obj,startTime,endTime){
			for(;startTime<=endTime;startTime++){
				obj.options.add(new Option(startTime,startTime));
			}
		}

		function selectYmd(){
			var year=document.getElementById("year");
			var month=document.getElementById("month");
			var date=document.getElementById("date");
			var startDate=date.length;
			var endDate;
			var monthValue=parseInt(month.value);
			var yearValue=parseInt(year.value);
			if(monthValue==4||monthValue==6||monthValue==9||monthValue==11){
				endDate=30;	
			}else if(monthValue==2){
				if((yearValue % 4==0 && yearValue % 100 !=0) || yearValue % 400 ==0){
					endDate=29;
				}else{
					endDate=28;
				}
			}else{
				endDate=31;
			}
			changeOptions(date,startDate,endDate);
		}


		function changeOptions(obj,start,end){
			if(start>end){
				for (;start>end;start--) {
					obj.options.remove(start-1);
				}
			}else if(start<end){
				for(;start<end;start++){
					obj.options.add(new Option(start+1,start+1));
				}
			}
		}
	</script>
</head>
<body onload="ymd()">
	<form>
		<label>出生年月:</label>
			<select name="year" id="year" onchange="selectYmd()"></select>年
			<select name="month" id="month" onchange="selectYmd()"></select>月
			<select name="date" id="date"></select>日
	</form>
</body>
</html>

 

 

 

 

 

print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值