アプリ版:「スタンプのみでお礼する」機能のリリースについて

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>

A 回答 (3件)

ごめんなさい、4行目のコピペエラーです。


正しい4行目は以下の通です。

For value = i to i-15 step -1
    • good
    • 0
この回答へのお礼

ありがとうございます。参考にさせていただき、うまく動きました!

お礼日時:2005/08/01 23:33

もっとシンプルに考えて作っていけばいいのではないでしょうか?


まずはノーマルに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
%>
    • good
    • 0
この回答へのお礼

参考になりました。
確かに、前の方のアドバイスよりシンプルです。
ありがとうございました。

お礼日時:2005/08/01 23:32

4行目だけ変更すればいいと思います。



For value = i-15 to i to i-15 step -1

因みに step -1 は1つづつvalueが減る事を意味します。
これを省略すると+1になります。
    • good
    • 0

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