電子書籍の厳選無料作品が豊富!

お世話になります。
3つのプルダウンから年、月、日を選択できるようにしたいのですが、年を選択していない場合は月、月をを選択していない場合は日の内容を表示しないようにして、年、月を選択した際に日には閏年などを反映させた数字を表示をしたくおもっております。
どのようにすればいいのでしょうか?よろしくお願いします。

A 回答 (3件)

#1です。



> 年度に関してですが、現在の日付から年度を取得しまして、それより3年前から7年後まで設定したとすると決められた値では無理ではないでしょうか?
> そういった場合はどうすればいいのでしょうか?

私はPHPを使って、ココの部分を動的に対応しています。
JavaScriptだけでやる方法は思いつきません。
力になれず、申し訳ない。

がんばってください。
    • good
    • 0
この回答へのお礼

いえ、参考なりました。ありがとうございます。

お礼日時:2005/06/10 11:10

年度に関してだけでしたら、以下のような方法が可能です。


No.1さんの回答と組み合わせれば、うまくいくのかもしれません。あまりJavaScriptは詳しくなくて試せていませんが。
ご参考までに。

<script language="JavaScript">
<!--
var dToday ;
var dYear;
var dMonth;
var dDay;
var beforeYear = 3;//何年前から
var afterYear = 7;//何年後まで
dToday = new Date();
dYear = dToday.getFullYear();
dMonth = dToday.getMonth() + 1;
dDay = dToday.getDate();

//-->
</script>

---<body>内の年度のところに埋め込む。
<select name="area" onchange="...">
<option>年</option>
<script language="JavaScript">
<!--
for (var i = dYear-beforeYear; i <= dYear+afterYear; i++){
document.write("<option value=\"" + i + "\">" + i + "</option>");

}
//-->
</script>
</select>年
---
    • good
    • 0

こんな感じでしょうか。



<html>
<script language="javascript">
<!--

var _area = [
[0,0,""],
[0,1,"2004"],
];

var _subArea = [
[1,0,""],
[1,1,"1"],
[1,2,"2"],
[1,3,"3"],
];

var _subSubArea = [
[1,0,""],
[1,1,"28"],
[1,2,"29"],
[1,3,"30"],
[1,4,"31"],
[2,0,""],
[2,1,"28"],
[2,2,"29"],
[3,0,""],
[3,1,"28"],
[3,2,"29"],
[3,3,"30"],
[3,4,"31"],
];

function chg(subCatAry,pID,chgForm,delForm){
if(delForm){
for (var i=delForm.options.length-1;i>= 0;i--){
delForm.options[i] = null;
}
}

for (var i=chgForm.options.length-1;i>= 0;i--){
chgForm.options[i] = null;
}

var j = 0;
for(var i=0;i<subCatAry.length;i++){
if(subCatAry[i][0] == pID){
chgForm.options[j++] = new Option(subCatAry[i][2],subCatAry[i][1]);
}
}
}

function init(ary,fm){
for(var i=0;i<ary.length;i++){
fm.options[i] = new Option(ary[i][2],ary[i][1]);
}
fm.options[0].selected = true;
}

//-->
</script>

<body onLoad="JavaScript:init(_area,document.F.area);">
<form name="F">
<select name="area" style="width:150" onChange="JavaScript:chg(_subArea,this.value,document.F.subArea,document.F.subSubArea);">
<option>選択</option>
</select>
<select name="subArea" style="width:150" onChange="JavaScript:chg(_subSubArea,this.value,document.F.subSubArea);">
<option>選択</option>
</select>
<select name="subSubArea" style="width:150" >
<option>選択</option>
</select>
</form>
</body>
</html>

この回答への補足

ご返答ありがとうございます。
年度に関してですが、現在の日付から年度を取得しまして、それより3年前から7年後まで設定したとすると決められた値では無理ではないでしょうか?
そういった場合はどうすればいいのでしょうか?
よろしくお願いします。

補足日時:2005/05/17 13:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!