OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

日付を取得してコンボボックスに出力

  • 困ってます
  • 質問No.152811
  • 閲覧数989
  • ありがとう数3
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 74% (29/39)

タイトルの通り、月を取得して<option>で作ったコンボに
その月から3ヶ月分だけ出したいんですけれど

(例)現在10/17

だとすると10.11.12.1月だけをコンボに出したいんです。

javascriptで月の取得は分かったのですが、コンボへの挿入が仕方が分かりません。

どうにか仕方ありますでしょうか?
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル10

ベストアンサー率 50% (72/143)

こんばんはmasaichi1212さん、xruzです。
こんな感じで直接書いちゃうのはお気に召しませんか?

<Select Name="sel" Size="1">
<Script Language="JavaScript">
<!--
var myDate=new Date();
for(var i=0;i<4;i++) {
var mt=myDate.getMonth()+1;
document.write("<option value=",mt,">",mt);
myDate.setMonth(mt);
}
//-->
</Script>
</Select>

Ie5.5sp2、NN4.75で動作確認済み。
がんばってくださいね。
お礼コメント
masaichi1212

お礼率 74% (29/39)

xruzさんありがとうございます!!

頭の領域が少ない僕にはxruzさんの提案して頂いた
ソースは理解しやすくて助かりました。

分かりやすいんですけれど、一部mt=myDate.getMonth()で月を取得して
ループするたびに1を加えたものをmtに入れた後にoptionで出力した後の、myDate.setMonth(mt);がなにをしているのかちょっと分からないかな。。。

でもきっと良く見ていけば理解できると思います

本当にありがとうございました。
投稿日時 - 2001-10-18 09:42:58
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1

JavaScriptでのコンボボックスの作り方を教えてほしいということで良いでしょうか? ということでしたら、次のコードでは、参考になりませんか? <SCRIPT LANGUAGE="JavaScript"> <!-- //表示させたい月を配列に入れておきます  showmonth = new Array()  showmonth[0]=& ...続きを読む
JavaScriptでのコンボボックスの作り方を教えてほしいということで良いでしょうか?

ということでしたら、次のコードでは、参考になりませんか?

<SCRIPT LANGUAGE="JavaScript">
<!--
//表示させたい月を配列に入れておきます
 showmonth = new Array()

 showmonth[0]="10"
 showmonth[1]="11"
 showmonth[2]="12"
 showmonth[2]="1"

 //表示部分です
 document.write('<form><select name="myselect">')
 for(i=0;i<showmonth.length;i++){
  document.write('<option>'+showmonth[i]+'')
 }
  document.write('</select></form>')

//-->
</SCRIPT>

月を配列に入れる部分が分からなければ、また返事下さい。
お礼コメント
masaichi1212

お礼率 74% (29/39)

kana-tan最初の書きこみありがとうございました
意味合い的には上記の2名の方のような形にしたかったのですが
Array配列を使っているのはkana_tanさんだけだったので
よくよくソースを見させてもらいました。

…んで残念なんですけれど、うまく動いてくれませんでした。
追加項目の+を消すのもやったのですが、「文字が違います」とか
エラーがでてしまいました。

僕も見てて「え?これでいいんじゃないの?」って未熟ながらも思ったので
納得がいってません。
win98 IE5.0  
環境とか関係ないですよねぇ…。


ーん、でも参考になりました、ありがとうございました。

またなにかありましたら宜しくお願いします!!
わからないことだらけなので、近い内まち出没することになると思うので…(笑)

それでは!!
投稿日時 - 2001-10-18 09:49:39


  • 回答No.2

下記のプログラムの訂正です >  document.write('<option>'+showmonth[i]+'')     ↓   document.write('<option>'+showmonth[i])  として下さい。最後の「+''」がいりません。
下記のプログラムの訂正です

>  document.write('<option>'+showmonth[i]+'')
    ↓
  document.write('<option>'+showmonth[i])

 として下さい。最後の「+''」がいりません。
  • 回答No.4
レベル12

ベストアンサー率 75% (398/526)

後から変更するパターンが出てないようなので。 <HTML> <HEAD> <SCRIPT language="JavaScript"> <!-- function set_option() {   var n = 4;        // 月数:ここを変更する時は、<OPTION>の数も変更すること   var ...続きを読む
後から変更するパターンが出てないようなので。

<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
function set_option()
{
  var n = 4;        // 月数:ここを変更する時は、<OPTION>の数も変更すること
  var date = new Date();

  with (document.f.s) {
    for (var i = 0; i < n; i++) {
      var mon = date.getMonth() + 1;
      options[i].value = options[i].text = mon;
      date.setMonth(mon);
    }
  }
}
//-->
</SCRIPT>
</HEAD>

<BODY onLoad="set_option()">
<FORM name="f">
 <SELECT name="s"><OPTION><OPTION><OPTION><OPTION></SELECT>
</FORM>
</BODY>
</HTML>

※動作確認 : IE5.0 / NN4.73
※見やすくするため全角空白を使用しているので、コピーの際はタブなどに置き換えて下さい。
お礼コメント
masaichi1212

お礼率 74% (29/39)

書きこみありがとうございました!!

どうさ確認するのにコピペして動かなかったので、言われたとおり
スペースをタブに直したら動きました。

全角スペースってだめなんですね。

ホントまだなんもできないんでWITH句の意味が詳しくはわかりませんでしたが
だいたいこうやるものなんだなって、見ていて理解できました。

人それぞれたくさんやりかたがあるんですね

ありがとうございましたleaz024さん。
投稿日時 - 2001-10-18 09:34:27
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ