我有3下拉框基本形式獲取的天數選擇
<form>
<select name="year" id="y">
<option value="2014">2014</option>
...
<option value="1949">1949</option>
</select>
<select name="month" id="m">
<option value="01">JAN</option>
...
<option value="12">DIC</option>
</select>
<select name="day" id="d">
<option value="1">1</option>
...
<option value="31">31</option>
</select>
<input type="text" name="age">
</form>
這樣的想法是: 獲取個月,這樣的日子選擇的選項可以填充,1 ,2,3,4,5 ......等等......然後一旦我有年,月和日,我需要做一個計算,以便我可以得到年齡,計算的價值/結果將去年齡的輸入框... 現在,多年來必須不少於1年,不超過69或70歲,我已經這樣做了...:
function getYears()
{
d = new Date();
curr_year = d.getFullYear();
for(i = 0; i < 70; i++)
{
document.getElementById('y').options[i] = new Option(curr_year-i,curr_year-i);
}
}
使用該代碼,我可以填充一年中的選項......並使用下一個代碼,我可以獲得每月選擇的天數,但不工作...
這不是因爲工作,如果我選擇今年1月,顯示31天在天<select>
,但如果我那麼對於一個月改變它會不斷表示從第1選擇的月數...
function obtenDias(v) {
var select = document.getElementById("d");
switch(v)
{
case "01": ed = 31;break;
case "02": ed = 29;break;
case "03": ed = 31;break;
case "04": ed = 31;break;
case "05": ed = 31;break;
case "06": ed = 31;break;
case "07": ed = 31;break;
case "08": ed = 31;break;
case "09": ed = 31;break;
case "10": ed = 31;break;
case "11": ed = 31;break;
case "12": ed = 31;break;
}
for(i=1;i<=ed;i++)
{
select.options[i] = new Option(i, i, true, false);
}
}
至於計算,以獲得選擇的年齡基準......好吧,我沒有線索......我可以得到當前日期減去選定的一年......類似的東西..它不需要100%確切。 ..
它會返回沒有特別的月份和年份 ******* 功能daysInMonth(月,年)的天{ var dd = new Date(year,month,0); return dd.getDate();} **** – Syed