- ベストアンサー
フォームで「年(西暦)」を今年の「年」から降順に生成したい
ASPでフォームで「年」の選択をさせようとしています。 年はシステム日付からとって、リストの値は現在の年から15年前の年までを自動生成しようと考えています。 そこで以下のように記述したのですが、今年の年がリストの最下部に来てしまいます。 逆に、今年の年を最上部にもってくる方法はないでしょうか? <select name="year" class="textbox" ID="yearid"> <% i = FormatNumber(Year(now)) For value = i-15 to i IF value = Year(now) Then Response.Write "<option selected>" & value & "</option><br>" Else Response.Write "<option>" & value & "</option><br>" End IF Next %> </select>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい、4行目のコピペエラーです。 正しい4行目は以下の通です。 For value = i to i-15 step -1
その他の回答 (2)
- Bonjin
- ベストアンサー率43% (418/971)
もっとシンプルに考えて作っていけばいいのではないでしょうか? まずはノーマルにHTMLを書いてみて、それをASPで出力するにはどのような順序で出力するのが望ましいか考えてみてください。 <% '現在の年を取得 y = Year(Now()) '今年を選択された状態で出力 Response.Write "<option selected>" & y & "</option><br>" '今年からiを引いた年を出力(i = 1~15) For i = 1 To 15 Response.Write "<option>" & (y - i) & "</option><br>" Next %>
お礼
参考になりました。 確かに、前の方のアドバイスよりシンプルです。 ありがとうございました。
- laputart
- ベストアンサー率34% (288/843)
4行目だけ変更すればいいと思います。 For value = i-15 to i to i-15 step -1 因みに step -1 は1つづつvalueが減る事を意味します。 これを省略すると+1になります。
お礼
ありがとうございます。参考にさせていただき、うまく動きました!