本文目錄一覽:
- 1、javascript 實現年月日聯動
- 2、一段javascript寫年月日聯動的代碼
- 3、JavaScript怎樣生成選擇可以年月日的聯動下拉列表
- 4、JSP使用js實現年月日三級聯動,怎麼把時間存到SQL 中
javascript 實現年月日聯動
1. 你的代碼:
1.1 首先要保證畫面一加載,就要執行下拉的初始化方法,所以先要在body標籤里添加onload
事件,指定好你的初始化方法;
1.2 因為是循環添加下拉的Option,所以Option對象不能在循環外面只new一次,那樣的會會造
成同一個對象在下拉中添加多次,從而出錯。你代碼的年、月下拉都是因為這樣出錯的。只
要修改成每循環一次就new一個新的Option對象就可以了;
你的代碼修改如下:
html
head
title 年月日/title
script type=”text/javascript”
function printBirthday(){
document.forms[0].selectDay.length=0;
var tempDate = new Date();
var y = tempDate.getFullYear();
var yearOption;
for (var i = (y-30); i (y+30); i++) {
yearOption=new Option(); //每次循環都重新new 一個Option對象
yearOption.text=i+” 年”;
document.forms[0].selectYear.add(yearOption);
}
var monthOption;
for (i=1;i=12;i++) {
monthOption =new Option(); //每次循環都重新new 一個Option對象
monthOption.text=i+” 月”;
document.forms[0].selectMonth.add(monthOption);
}
}
/script
/head
body onload=”printBirthday();”
form name=”formBirthday” action=”” method=”post”
select name=”selectYear” size=”” onchange=”printBirthday()” /select
select name=”selectMonth” size=”” onchange=”printBirthday()” /select
select name=”selectDay” size=”” /select
/form
/body
/html
2.你代碼里的日期也沒添加,這個好像要涉及到什麼閏年、閏月之類的,我按照自己的思路寫了一下代碼,你參考着玩吧!
html
head
script language=”javascript”
var ddlYear = null;
var ddlMonth = null;
var ddlDay = null;
var AOBJ_CurrentDate = null;
function Window_Load(){
ddlYear = document.getElementById(“ddlYear”);
ddlMonth = document.getElementById(“ddlMonth”);
ddlDay = document.getElementById(“ddlDay”);
AOBJ_CurrentDate = new Date();
//綁定數據
Year_Bind();
Month_Bind();
Day_Bind();
//設置Change事件
ddlYear.onchange=Day_Bind;
ddlMonth.onchange=Day_Bind;
//設置默認值(當前日期的年、月、日作為下拉的默認值)
ddlYear.value = AOBJ_CurrentDate.getYear();
ddlMonth.value = AOBJ_CurrentDate.getMonth() + 1;
ddlDay.value = AOBJ_CurrentDate.getDate();
}
function Year_Bind(){
var intCurrentYear = AOBJ_CurrentDate.getFullYear();
for(i = intCurrentYear + 30; i = intCurrentYear – 30; i — ){
ddlYear.options.add(new Option(i + ” 年”,i));
}
}
function Month_Bind(){
for(i = 1; i = 12; i++ ){
ddlMonth.options.add(new Option(i + ” 月”,i));
}
}
function Day_Bind(){
//取得當前月的總天數
var objDate = new Date(ddlYear.value,ddlMonth.value ,”0″);
var totalDaysInMonth = objDate.getDate();
//綁定下拉
ddlDay.options.length=0;
for(i = 1; i = totalDaysInMonth; i++){
ddlDay.options.add(new Option(i + ” 日”,i));
}
}
/script
/head
body onload=”Window_Load();”
select id=”ddlYear” /select
select id=”ddlMonth” /select
select id=”ddlDay” /select
/body
/html
3. 實在是忍不住了,嚴重鄙視 xd89910wz !!
一段javascript寫年月日聯動的代碼
你輸出一下 year 和 month 的值 你就發現問題所在了
year = 1990 + i;
objYear.add(new Option(year, i)); ?這裡還應該是i嗎?
JavaScript怎樣生成選擇可以年月日的聯動下拉列表
html
head
style
#sYear{width:65px;}
#sMonth{width:50px;}
#sDate{width:50px;}
/style
script
function fillSelect()
{
var ddlYear = document.getElementById(“sYear”);
var ddlMonth = document.getElementById(“sMonth”);
var ddlDate = document.getElementById(“sDate”);
var opt = null;
var curDay = new Date();
var year = curDay.getFullYear();
for (var i = -5; i 5; i++)
{
opt = document.createElement(“OPTION”);
opt.value = year + i;
opt.innerText = (year + i) + “年”;
ddlYear.appendChild(opt);
}
ddlYear.value = curDay.getFullYear();
for (var i = 1; i = 12; i++)
{
opt = document.createElement(“OPTION”);
opt.value = i;
opt.innerText = i + “月”;
ddlMonth.appendChild(opt);
}
ddlMonth.value = curDay.getMonth() + 1;
fillDate();
ddlDate.value = curDay.getDate();
}
function fillDate()
{
var ddlYear = document.getElementById(“sYear”);
var ddlMonth = document.getElementById(“sMonth”);
var ddlDate = document.getElementById(“sDate”);
while (ddlDate.options.length 0)
{
ddlDate.remove(0);
}
var selDay = new Date();
selDay.setFullYear(ddlYear.value, ddlMonth.value, 1);
var lastDay = new Date(selDay – (24 * 60 * 60 * 1000));
var days = lastDay.getDate();
for (var i = 1; i = days; i++)
{
var opt = document.createElement(“OPTION”);
opt.value = i;
opt.innerText = i + “日”;
ddlDate.appendChild(opt);
}
}
/script
/head
body onload=”fillSelect()”
select id=”sYear” onchange=”fillDate()”/select
select id=”sMonth” onchange=”fillDate()”/select
select id=”sDate”/select
/body
/html
JSP使用js實現年月日三級聯動,怎麼把時間存到SQL 中
你隱藏一個輸入框,裏面的值為,你選擇的日期。當選擇了日期這個下拉框,則出發值改變事件,在這裡設置隱藏輸入框的值,然後把隱藏輸入框的值發到服務器
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/253855.html