- 締切済み
日付範囲指定について
よろしくお願いします。 年、月をコンボボックスで表示させ、選択できるようにしてあります。jsの内容は以下です。 ----------------------------------------------------- var ymin = 1950; var ymax = 2050; function getToday(){ var t = new Date(); var y = t.getYear(); if(1900 > y){y += 1900;} var m = t.getMonth()+1; var d = t.getDate(); fyear(y); fmonth(m); fday(d); } function fyear(thisyear){ var obj = document.getElementById('year'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function fmonth(thismonth){ var obj = document.getElementById('month'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } ----------------------------------------------------- これを利用して日付範囲指定(例として、2006年1月~2008年8月ような感じ)を行いたいのですが、可能でしょうか? 自分で試した方法ですと、前半(2006年1月)は表示できるのですが、後半(2008年8月)が表示できませんでした。 試したソースは以下 --------------------------------------------------- <!-- var ymin = 1950; var ymax = 2050; function getToday(){ var t = new Date(); var y = t.getYear(); if(1900 > y){y += 1900;} var m = t.getMonth()+1; var d = t.getDate(); fyear(y); fmonth(m); tyear(y); tmonth(m); } function fyear(thisyear){ var obj = document.getElementById('year'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function fmonth(thismonth){ var obj = document.getElementById('month'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } function tyear(thisyear){ var obj = document.getElementById('tyear'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function tmonth(thismonth){ var obj = document.getElementById('tmonth'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } //--> どうかよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
補足
pipi_さん、書き込みありがとうございます。 返答遅れてすみません。 自分の説明不足だったかもしれませんが、範囲指定を行いたいので 上記のは参考にさせていただきます。 しかしながら書き込みしていただいてありがとうございました。