一个出生日期有年,月,日属性,默认为1980年1月1日,当用下拉列表框实现时,当改变月份或年份时,怎样也把当月的天数也显示在列表框内,比如说闰年1月有31天,当选择2月时把2月的29天数也在当前页面显示出来,我写的基本代码如下:
出生日期:<select name="year">
<script language="javascript">
for(var i=1980;i<=2000;i++){
document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>年 <select name="month">
<script language="javascript">
for(var i=1;i<=12;i++){
document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>月 <select name="day">
<script language="javascript">
for(var i=1;i<=31;i++){
document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>日
出生日期:<select name="year">
<script language="javascript">
for(var i=1980;i<=2000;i++){
document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>年 <select name="month">
<script language="javascript">
for(var i=1;i<=12;i++){
document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>月 <select name="day">
<script language="javascript">
for(var i=1;i<=31;i++){
document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>日
解决方案 »
- 请问一下jquery easyui treegrid如何异步加载子节点
- C#写的ActiveX插件在ExtJS面板里闪动的问题。求解答啊...
- 用JQ仿新浪“发送中”,然后自动转换“发送成功”,最后刷新页面,防止重复提交表单
- 这段js代码很给力,能实现对联、底部、飘动、顶部闪动广告,奉献给大家
- javascript 实现 当checkbox状态发生改变时,触发某一事情。
- ?求助:如何用jsp+javascript制作动态统计图
- 关于js传递参数的问题
- previousSibling
- 一个文本筐只能输入从n到m的整数,怎么写?
- 我有一个表格,横向排列,重复数从数据库中取得,如何使点击其中一行.
- 网页视频播放器怎么做?
- 求助,大家留步:FCKeditor在ie7,8下的有运行错误如何解决?
JS 日期联动
var day= document.getElementById("month");var opt = new Option(i, i, false, false);day.add(opt);//IE下。如果要在FF下,请使用标准DOM创建元素day.remove你可以参照下W3C的文档看下http://www.w3school.com.cn/htmldom/dom_obj_select.asp
function resetDay(month) {
var year = document.getElementById('selYear').value, month = document.getElementById('selMonth').value
, selDay = document.getElementById('selDay'), maxDay = 31;
if (month == '2') {
if (/^\d{2,}00$/.test(year.toString())) maxDay = parseInt(year) % 400 == 0 ? 29 : 28;
else maxDay = parseInt(year) % 4 == 0 ? 29 : 28;
}
else maxDay = month <= 7 ? month % 2 == 0 ? 30 : 31 : month % 2 == 0 ? 31 : 30;
selDay.options.length = 0;
for (var i = 1; i <= maxDay; i++) selDay.options.add(new Option(i, i));
}
</script>出生日期:<select name="year" id="selYear" onchange="resetDay()">
<script language="javascript">
for (var i = 1980; i <= 2000; i++) {
document.write("<option value=" + i + ">" + i + "</option>");
}
</script>
</select>年 <select name="month" id="selMonth" onchange="resetDay()">
<script language="javascript">
for (var i = 1; i <= 12; i++) {
document.write("<option value=" + i + ">" + i + "</option>");
}
</script>
</select>月 <select name="day" id="selDay"></select>日
<html>
<body>
出生日期:<select name="year" onchange="change();">
<option>--</option>
<script language="javascript">
for(var i=1980;i<=2000;i++){
document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>年
<select name="month" onchange="change();">
<option>--</option>
<script language="javascript">
for(var i=1;i<=12;i++){
document.write("<option value="+i+">"+i+"</option>");
}
</script>
</select>月
<select name="day">
</select>日
<body>
<script language="javascript">
function change(){
var year=document.getElementsByName("year")[0].value;
var mounth=document.getElementsByName("month")[0].value;
var day=document.getElementsByName("day")[0];
var num=getDaysInMonth(year,mounth);
if(day.options.length==num) return;
day.options.length=0;
for(var i=1;i<=num;i++){
var op=document.createElement("OPTION");
op.value=i;
op.innerHTML=i;
day.appendChild(op);
}
}
function getDaysInMonth(year,month){
month = parseInt(month,10)+1;
var temp = new Date(year+"/"+month+"/0");
return temp.getDate();
}
</script>
</html>