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

(例)現在10/17

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

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

どうにか仕方ありますでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんばんは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で動作確認済み。
がんばってくださいね。
    • good
    • 0
この回答へのお礼

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

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

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

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

本当にありがとうございました。

お礼日時:2001/10/18 09:42

後から変更するパターンが出てないようなので。



<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
※見やすくするため全角空白を使用しているので、コピーの際はタブなどに置き換えて下さい。
    • good
    • 0
この回答へのお礼

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

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

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

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

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

ありがとうございましたleaz024さん。

お礼日時:2001/10/18 09:34

下記のプログラムの訂正です



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

 として下さい。最後の「+''」がいりません。
    • good
    • 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>

月を配列に入れる部分が分からなければ、また返事下さい。
    • good
    • 0
この回答へのお礼

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

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

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


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

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

それでは!!

お礼日時:2001/10/18 09:49

このQ&Aに関連する人気のQ&A

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

このQ&Aと関連する良く見られている質問

QEXCELにて、同一日付であれば空白にしたい

EXCELにて、同一日付であれば空白にしたい
EXCELにて、同一日付であれば空白にしたいのですが、できればVBAを使用せず実現したい。
ヒントをお願いします

Aベストアンサー

回答No2です。ダブった日付を白文字にするときにページが変わったところで空白になるのは避けたいとのことでしたらページの区切りを求める関数はありませんので、例えば1ページが49行で50行のところが次のページになるなどのことが判っていればA2セルから下方を選択してからの条件付き書式の設定で入力する式は次のようにすることでよいでしょう。

=AND(MOD(ROW(),50)<>0,A2=A1)

Qselect option value が IE だけで動かない

select の option 項目を追加する javascript を組んでいるのですが
IE だけ項目追加ができません。Windows の Firefox2、Safari は期待
通りに項目が追加できました。

option.value を指定しないと IE でも追加できます。IE 専用に特別な
別プログラムが必要なのでしょうか。ご存知の方よろしくお願いします。

var selectBox = document.getElementById("select1");
var option = document.createElement('option');
option.setAttribute('value','my_value');
option.appendChild(document.createTextNode('my_text'));
selectBox.appendChild(option);

3行目をコメントアウトすれば IE でも select にデータが追加され
ますが、肝心の value がないのでプログラム的にダメなんです。

select の option 項目を追加する javascript を組んでいるのですが
IE だけ項目追加ができません。Windows の Firefox2、Safari は期待
通りに項目が追加できました。

option.value を指定しないと IE でも追加できます。IE 専用に特別な
別プログラムが必要なのでしょうか。ご存知の方よろしくお願いします。

var selectBox = document.getElementById("select1");
var option = document.createElement('option');
option.setAttribute('value','my_value');
option.appendChild(document.createTe...続きを読む

Aベストアンサー

う~ん・・・Win版IE6では普通に動いてますがどのIEについて言っている
のでしょ?

<script>
window.onload=function(){
var selectBox = document.getElementById("select1");
var option = document.createElement('option');
option.setAttribute('value','my_value');
option.appendChild(document.createTextNode('my_text'));
selectBox.appendChild(option);
}
</script>
<select id="select1" onchange="alert(this.value)">
<option value="">選択する</option>
</select>

QWORD差し込み印刷:日付の処理 - EXCELが空欄だと今日の日付が差し込まれてしまう

WORDの差し込み印刷について質問させてください。

EXCELのデータで日付を入れている列があります。この列に空欄がある(つまり日付が入力されていない)と、差し込み先のWORDのほうで、今日の日付が出てしまいます。

EXCELのデータが空欄の場合には、WORDの方に今日の日付を出さない(空欄のままにしておく)方法はありますか?

OSはWinXP, WORDとEXCELは2003を使っています。

よろしくお願いします。

Aベストアンサー

Word2002で確認したところ、質問と同じようになりました。
フィールドコードについては詳しくありませんが、消すことができました。
日付が空欄のところの差し込みフィールドでマウス右クリックしてフィールドコードの表示/非表示をクリックして表示させると
{MERGEFIELD"フィールド名"}となっていると思います。
1方法はココの”フィールド名"を削除すれば日付は表示されません。
もう一つの方法はフィールドを右クリックしてフィールドの編集を選択します。「フィールド」ダイアログボックスが現れます。
フィールドの種類から「差し込み印刷」を選択し、フィールドの名前から「If」を選択して条件式を入力する。
フィールドコードは
「If 式1 演算子 式2 Trueの場合の文字列 Falseの場合の文字列」
ここに
「If 日付のフィールド名<>"" "yyyy/mm/dd" ""」
というのを入力したところ表示されないようになりました。
日付のフィールドがブランクでない場合はyyyy/mm/dd、そうでなければブランクという条件式です
差し込みの1枚目のフィールドで条件式を入れておけば、日付空欄のところはすべて空欄にできると思います。
試しにチャレンジしてみて下さい。

Word2002で確認したところ、質問と同じようになりました。
フィールドコードについては詳しくありませんが、消すことができました。
日付が空欄のところの差し込みフィールドでマウス右クリックしてフィールドコードの表示/非表示をクリックして表示させると
{MERGEFIELD"フィールド名"}となっていると思います。
1方法はココの”フィールド名"を削除すれば日付は表示されません。
もう一つの方法はフィールドを右クリックしてフィールドの編集を選択します。「フィールド」ダイアログボックスが現れます。
...続きを読む

Qoption属性の値取得について

こんばんは。

オプションタグの値取得の方法について質問があります。

opitonタグのvalue属性の値を取得する際、今までは方法Aのコードを用いていましたが、
最近調べものをしていますと、方法Bのコードで取得するのが正しいと知りました。

方法Aでの値の取得についてはGoogle等で検索しましたが、見当たりませんでしたので、
私の思い込みで記述していたのではないかと思われます。

しかしながら、方法Aであっても方法Bであっても取得する値に差異は見られませんでした。

なぜ方法Aでも動作するのでしょうか?

以上、よろしくお願いいたします。

OS  :WinXP SP2
ブラウザ:IE6.0

//------------------------------------------------------------------------
// index.htm
//------------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
  <script language="javascript" src="./main.js"></script>
 </head>
 <body>
  <form name="chara">
   <select name="job">
    <option value="j01">0</option>
    <option value="j02">1</option>
    <option value="j03">2</option>
    <option value="j04">3</option>
    <option value="j05">4</option>
   </select>
   <input type="button" value="func()" onclick="func()" />
  </form>
 </body>
</html>
//------------------------------------------------------------------------
// main.js
//------------------------------------------------------------------------
function func()
{
 var Job1 = document.chara.job.value;       // 方法A

 var Job2Index = document.chara.job.selectedIndex;
 var Job2 = document.chara.job.options[Job2Index].value;   // 方法B

 alert( "Job1: " + Job1 );
 alert( "Job2: " + Job2 );
}

こんばんは。

オプションタグの値取得の方法について質問があります。

opitonタグのvalue属性の値を取得する際、今までは方法Aのコードを用いていましたが、
最近調べものをしていますと、方法Bのコードで取得するのが正しいと知りました。

方法Aでの値の取得についてはGoogle等で検索しましたが、見当たりませんでしたので、
私の思い込みで記述していたのではないかと思われます。

しかしながら、方法Aであっても方法Bであっても取得する値に差異は見られませんでした。

なぜ方法Aでも動作する...続きを読む

Aベストアンサー

>古いブラウザなどを考慮しますと、やはり方法Bが望ましいのでしょうか。

どうなんでしょうね?
私も昔は方法Bを使っていましたが、最近は方法Aにするようにしています。
基本的には古いブラウザっていっても「ものすごく古いブラウザ」なので
たぶん方法Aでいいとおもますよ。
できれば情報提供側としては、いくつかのブラウザでチェックしておくのが
望ましいかと思います。

QExcelで日付を入力したら締日を表示させる

Excelで経費の支払いの表を作ろうとしています。

A列のセルに日付を入力し、
A列に入力した日付が1日~15日までなら
B列のセルにその月の最終日の日付を
16日~31日までなら
B列に翌月の15日と自動で表示されるようにするには
どうすればいいのでしょうか?


詳しい方、教えてください。
ちなみに使用しているExcel2010です。

Aベストアンサー

ごめ。よく読んだら半月ずれてましたな。

=IF(DAY(A1)<15,DATE(YEAR(A1),MONTH(A1)+1,1)-1,DATE(YEAR(A1),MONTH(A1)+1,15))

MONTH(A1)+1で「13月」とか出てきちゃいそうですが、Excelはちゃんと「翌年1月」と計算しなおしてくれますから大丈夫です。

Qoption 選択による表示&非表示

<select name="var">
<option value="1">見せる</option>
<option value="2">見せない</option>
</select>

<!--内容-->
<table>
<tr></td>内容</td></tr>
</table>


option 「見せる」を選択した場合、テーブル全体が<tabel>~</table>が表示、
option 「見せない」を選択した場合、テーブル全体が<tabel>~</table>が表示されなようにしたいです。


ご教授よろしくお願いいたします。

Aベストアンサー

こんばんは。

やり方はいろいろかと思いますが、とりあえず・・・。
まず、selectタグに、
<select name="var" onchange="toggleDisp(this);">
とかって書いて、テーブルにIDを付けます。
<table id="targetTable">

んで、Javascriptを
function toggleDisp(obj){
if(obj.value == '1'){
// 見せる
document.getElementById('targetTable').style.display="block";
}else{
// 見せない
document.getElementById('targetTable').style.display="none";
}
}

とか・・・。
非表示にした時に、もともとの描画領域を残す場合は、
style.visibility="hidden"
で。

QEXCELの日付データの比較

EXCELの日付データについての質問です。

たとえば、あるテキストデータでH20.7.19とあったとします。
それとEXCELの日付データにもH20.7.19があったとします。

テキストデータのH20.7.19をEXCEL側に貼り付け、EXCELの日付データH20.7.19と比較させ、答え0(誤差0)を返してもらう方法はありますでしょうか?

宜しくお願いいたします。

Aベストアンサー

こんにちは
DAYS360(開始日,終了日,方式)という関数で日数の差異を
求められます。

A1にテキストデータ H20.7.19
A2にエクセルデータ H20.7.19

があったとします。
=DAYS360(A1,A2)
で差異が0で返ってきます。 0じゃ無かったら別のものですね。

方式はヨーロッパ方式(TRUE)、アメリカNASD方式(FALSE)とか
書いてありましたが、違いはようわかりませんww
付けなくてもいいかとw

適当ですが、ご参考まで^^;

QOPTION の値をテキストエリアに

こんにちは。
すみませんが教えてください。
下記の様に作っています。
テキストエリア(note1)に、OPTIONのS・M・Lというように表示させたいのですが、1・2・3というようになってしまったり、エラーがでてしまいます。
どのように変えたらよろしいでしょうか?
”サイズ”+####の所を何回か書き直して見ましたが上手くいきません。
私が何をしたいかというと、
確認ボタンを押したら表記されている文字や数字をテキストエリアに書きたいのです。
よろしくお願いします。


<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT Language="JavaScript">
<!--
A = new Array("\0","\ 1,000","\ 1,200","\ 1,500");
function Fa(x)
{
document.FM.TE.value = A[x];
}
function ctotal()
{
var totalp=0;
var disp1=document.FM.TE.value+" 円 "+" サイズ "+####### ;

if(document.FM.TE.value>0)
{
totalp=parselt(totalp)+parselnt(document.FM.TE.value);

}

document.form03.note1.value=disp1;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM name="FM">
<TABLE BORDER="3"><TR><TD>
<SELECT name="OP" onChange="Fa(this.selectedIndex);">
<OPTION value="0" selected>0</OPTION>
<OPTION value="1">S</OPTION>
<OPTION value="2">M</OPTION>
<OPTION value="3">L</OPTION>
</SELECT></TD><TD>
<INPUT size="8" type="text" name="TE" value="0"></TD></TABLE></FORM>

<FORM NAME="form03">
<INPUT TYPE="BUTTON"VALUE="確認"
onclick="ctotal()">
<TEXTAREA NAME=note1 ROWS=5 COLS=30></TEXTAREA></FORM>   

</BODY>
</HTML>

こんにちは。
すみませんが教えてください。
下記の様に作っています。
テキストエリア(note1)に、OPTIONのS・M・Lというように表示させたいのですが、1・2・3というようになってしまったり、エラーがでてしまいます。
どのように変えたらよろしいでしょうか?
”サイズ”+####の所を何回か書き直して見ましたが上手くいきません。
私が何をしたいかというと、
確認ボタンを押したら表記されている文字や数字をテキストエリアに書きたいのです。
よろしくお願いします。


<HTML>
<HEAD>
<TITLE>...続きを読む

Aベストアンサー

値段と同じように、サイズを格納した配列を作成してはどうでしょう?


<SCRIPT Language="JavaScript">
<!--
A = new Array("\0","\ 1,000","\ 1,200","\ 1,500");
B = new Array("0","S","M","L");
function Fa(x)
{
document.FM.TE.value = A[x];
}
function ctotal()
{
var totalp=0;
//var disp1=document.FM.TE.value+" 円 "+" サイズ "+####### ;
var disp1=document.FM.TE.value+" 円 "+" サイズ "+B[document.FM.OP.selectedIndex];

if(document.FM.TE.value>0)
{
totalp=parselt(totalp)+parselnt(document.FM.TE.value);

}

document.form03.note1.value=disp1;
}
//-->
</SCRIPT>

値段と同じように、サイズを格納した配列を作成してはどうでしょう?


<SCRIPT Language="JavaScript">
<!--
A = new Array("\0","\ 1,000","\ 1,200","\ 1,500");
B = new Array("0","S","M","L");
function Fa(x)
{
document.FM.TE.value = A[x];
}
function ctotal()
{
var totalp=0;
//var disp1=document.FM.TE.value+" 円 "+" サイズ "+####### ;
var disp1=document.FM.TE.value+" 円 "+" サイズ "+B[document.FM.OP.selectedIndex];

if(document.FM.TE.value>0)
{
to...続きを読む

Qexcel,word 印刷した日の日付

excel,word文書を印刷したとき、その印刷日の日付を印字させるためにはexcel,word各々
どのようなことをすればよかったでしょうか。

Aベストアンサー

<Excelでの編集方法>
 メニューの「ファイル」-「ページ設定」で
 「ヘッダー/フッター」タブを選択。
 上に表示したい場合は「ヘッダーの編集」ボタン。

 編集画面の上に「日付の挿入」ボタン(カレンダーみたいなボタン)があるので
 それを押せば日付入力できます

<Wordでの編集方法>
 メニューの「表示」-「ヘッダー/フッター」を選択すると
 ヘッダーとフッターが点線で囲まれます。
 お好きなほうを選択し「日付の挿入」ボタンを押せば表示されるようになりますよ。

QX-Frame-Optionエラーの検出方法

iframeでX-Frame-Optionsが設定されているURL(例http://www.google.co.jp/m)を表示しようとすると、エラーとなり表示できません。
その際にアラートを表示したいのですが、どのタイミングで呼び出せばいいのでしょうか。

具体的には、
<html>
<head>
<script type="text/javascript">
function load() {
var myframe = document.getElementById("myframe");
myframe.src = 'http://www.google.co.jp/m';
}
function alertIFrameLoadError(){
alert('iframeロードエラー(X-Frame-Optionの可能性あり)');
}
</script>
</head>
<body onload="load()">
<iframe id="myframe" src="">
</iframe>
</body>
</html>
のソースにおいてalertIFrameLoadError()を呼ぶタイミングを教えて下さい。
iframeのonload,onerrorは呼ばれないようです。

ブラウザはsafariを想定していますが、他のブラウザでも何かヒントとなる事でも構いません。
以上、知恵を貸していただけると幸いです、よろしくお願いします。

iframeでX-Frame-Optionsが設定されているURL(例http://www.google.co.jp/m)を表示しようとすると、エラーとなり表示できません。
その際にアラートを表示したいのですが、どのタイミングで呼び出せばいいのでしょうか。

具体的には、
<html>
<head>
<script type="text/javascript">
function load() {
var myframe = document.getElementById("myframe");
myframe.src = 'http://www.google.co.jp/m';
}
function alertIFrameLoadError(){
alert('iframeロードエラー(X-Frame-Optionの可能性あり)');
}
</scrip...続きを読む

Aベストアンサー

質問されたコードとほぼ同じですが、X-FRAME-OPTIONS を実装している IE8 で alert になることを確認しました。
http://jsfiddle.net/Vjbay/

X-Frame-Options の参考URL
http://blogs.msdn.com/b/ie/archive/2009/01/27/ie8-security-part-vii-clickjacking-defenses.aspx
http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
https://developer.mozilla.org/en/the_x-frame-options_response_header


人気Q&Aランキング