• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:当日から3日後がデフォルトの連動年月日プルダウン)

当日から3日後がデフォルトの連動年月日プルダウンを作成する方法

このQ&Aのポイント
  • 当日から3日後がデフォルトの連動年月日プルダウンを作成したいと思っています。PHPかJavaScriptを使用する予定で、1つ目のプルダウンには当日から3日後~1か月程度の選択肢を、2つ目のプルダウンには1つ目のプルダウンで選択された日付の1日後~1か月程度の選択肢を表示させたいです。
  • 連動プルダウンのサンプルコードは手に入ったのですが、日付のプルダウンにする方法がわかりません。どなたかサンプルコードなどを教えていただけないでしょうか。
  • ご教示いただけると幸いです。よろしくお願いいたします。

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

  • ベストアンサー
回答No.2

サンプルが何か分からないので無いものとして回答を IEだとバグるのでappendChildなどでoptionを挿入する事 <script type="text/javascript"> /**********[global]**********/ var nowYear; var nowMonth; var nowDate; var nowLimitDay; var nowTag1; var nextTag1; var selectMonth; /**********[global]**********/ function onReady(){ var nowDate = new Date(); wkYear = nowDate.getYear(); //年 nowYear = (wkYear < 2000) ? wkYear+1900 : wkYear ; //月 nowMonth = nowDate.getMonth()+1; //日 nowDate = nowDate.getDate(); //今月の日数 nowLimitDay = new Date(nowYear, nowMonth, 0).getDate(); //日付用オプションタグ nowTag1 = ""; nextTag1 = ""; //選択中の月 selectMonth = 0; //プルダウン1日付、デフォ+3 pull1D = nowDate + 3; //次の月のどこまで日付を選べるか fitThirty = 30 - (nowLimitDay - pull1D) //月のオプション monthTag = '<option value=' + nowMonth + '>' + nowMonth + '月</option>'; if(nowMonth != 12){ monthTag += '<option value=' + (nowMonth+1) + '>' + (nowMonth+1) + '月</option>'; } //今月の日付オプション for(i=pull1D;i <= nowLimitDay;i++){ nowTag1 += '<option value="' + i + '">' + i + '日</option>'; } //来月の日付オプション for(i=1;i <= fitThirty;i++){ nextTag1 += '<option value="' + i + '">' + i + '日</option>'; } document.getElementById("year1").innerHTML = nowYear + "年"; document.getElementById("year2").innerHTML = nowYear + "年"; document.getElementById("pull1M").innerHTML = monthTag; document.getElementById("pull2M").innerHTML = monthTag; document.getElementById("pull1D").innerHTML = nowTag1; document.getElementById("pull2D").innerHTML = nowTag1; } function changeDay(){ selectObj = document.getElementById("pull1D"); options = document.getElementById("pull1D").options; selectDay = options.item(selectObj.selectedIndex).value; selectDay++;selectDay--; setTag = ""; if(selectMonth == 0){ setTag = nowTag1; }else{ setTag = nextTag1; } wkPos = setTag.indexOf('<option value="' + (selectDay+1) + '">' + (selectDay+1) + '日</option>', 0); chageDayTag = '<option value="' + selectDay + '" selected>' + selectDay + '日</option>' + setTag.substr(wkPos); document.getElementById("pull2D").innerHTML = chageDayTag; } function changeMonth1(){ setTag = ""; if(selectMonth == 0){ setTag = nextTag1; changeMonth(nowMonth+1); selectMonth = 1; }else{ setTag = nowTag1; changeMonth(nowMonth); selectMonth = 0; } document.getElementById("pull1D").innerHTML = setTag; document.getElementById("pull2D").innerHTML = setTag; } function changeMonth2(){ if(selectMonth == 0){ selectObj = document.getElementById("pull2D"); options = document.getElementById("pull2D").options; selMonth2 = options.item(selectObj.selectedIndex).value; if(nowMonth == selMonth2){ document.getElementById("pull2D").innerHTML = nextTag1; }else{ document.getElementById("pull2D").innerHTML = nowTag1; } }else{ changeMonth(nowMonth+1); } } function changeMonth(selMonth){ optObj = document.getElementById("pull2M").getElementsByTagName('option'); for(i=0; i<optObj.length;i++){ if(optObj[i].value == selMonth){ optObj[i].selected = true; break; } } } </script> <style> </style> </head> <body onload="onReady()"> <div id="box"> <div id="year1"></div> / <select id="pull1M" onchange="changeMonth1()"></select> / <select id="pull1D" onchange="changeDay()"></select> <div id="year2"></div> / <select id="pull2M" onchange="changeMonth2()"></select> / <select id="pull2D"></select> </div> </body>

ifp_u
質問者

お礼

出来ました! 本当にありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

サンプルコードが分からないので サンプルコードの改造指針を示す事が出来ません 1から組んで提示してと言う事でしょうか?

ifp_u
質問者

お礼

すみません! スクリプトだけを送信してしまいました…。 ご覧のとおり、サンプルは電車の発着のものなので、日付とは程遠いんです…。 なので、どこを改変したらいいのかも分からなくて、1行でも変えるとエラーが出てしまって…

ifp_u
質問者

補足

<form action="#"> 出発駅 <select name="jr_st" onchange="dblCheck(this)"> <option value="" selected="selected">▼ 選択 ▼ </option> <option value="sinjyuku">新宿</option> <option value="yoyogi">代々木</option> <option value="harajyuku">原宿</option> <option value="sibuya">渋谷</option> <option value="ebisu">恵比寿</option> <option value="meguro">目黒</option> <option value="gotanda">五反田</option> </select>  到着駅 <select name="jr_ed" onchange="dblCheck(this)"> <option value="" selected="selected">▼ 選択 ▼ </option> <option value="sinjyuku">新宿</option> <option value="yoyogi">代々木</option> <option value="harajyuku">原宿</option> <option value="sibuya">渋谷</option> <option value="ebisu">恵比寿</option> <option value="meguro">目黒</option> <option value="gotanda">五反田</option> </select> </form> <script type="text/javascript"> /** * [関数名] dblCheck * [機 能] 重複選択チェック * [説 明] 2つのプルダウン(出発駅と到着駅)で同じ駅名を選択したらアラート表示 * [引 数] * @param sel セレクトオブジェクト */ function dblCheck(sObj){ /* 重複カウンター */ var dbl=0; /* 出発駅の選択されたインデックス番号 */ var st =sObj.form.elements['jr_st'].selectedIndex; /* 到着駅の選択されたインデックス番号 */ var ed=sObj.form.elements['jr_ed'].selectedIndex; if(st!="" && ed!=""){ /* 同じ駅名を選択している場合はカウントアップ */ if(st==ed) dbl++; } if(dbl>0){ /* 同じ駅名が選択されている場合はアラート表示 */ alert("出発駅と到着駅が重複しています"); /* プルダウンクリア */ sObj.selectedIndex=0; } } </script>

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 連動プルダウンについてです。

    こんばんは。プログラム初心者です。 今、PHPとDBを使用したプログラムを組んでいます。 PHPはsmartyを使用してます。 そこで画像投稿画面を作成していまして、 DBと連動したプルダウンを作成したいのですが、 全然作れなくて困っています。 やりたいことはHTML側で元々記述してあるセレクトした値を飛ばして DB接続し、その値をそのままSQLに組み込んで 紐づいたデータをそのままプルダウンで表示させたいです。 こんな感じです↓ http://jsajax.com/NestedDropDown2Article686.aspx phpだけだとリロードしたりすることになるので、 JavaScriptを使用すると思いここに質問させていただいてます。 恐らく、JavaScriptでHTMLのvalue(値)を取得し、 別のPHP(DB接続とSQLの記述をしたもの)に値を渡して、 そこから元のPHPに戻るといったことをやればいいのでは… と思っていまして、接続、SQL用の別PHPは作成しました。 (非同期通信って云うんですかね) その際、2次元配列(配列の中は連想配列)で取得していて、 valueはその内の1つ、実際テンプレート側に 表示する文字は別の1つを表示させたいです。 SQLを流す側のPHPで配列は 【0】 [zip] [town] 【1】 [zip] [town] … といった感じの二次元配列を取ってます。 それを <option value="{$zip}">{$town}</option> みたいな形で取れた分、プルダウン作成したいです。 <option value="">選択してください</option> のプルダウン初期表示も欲しいです。 色々調べてみたんですが、 JavaScriptが難しくてhtmlの値すら取ることができず、 全然できません。どのように記述したらよろしいでしょうか? 他で使用しているため、j-queryは入れてあります。 ご教授のほど是非よろしくお願いします。

  • 2つのプルダウンを連動させる

    2つプルダウンがあったとき片方で選択した内容に応じもう一方のプルダウンの内容が 変更されるように以下のようなコードを書いてみました。 しかし、これだと1番目のプルダウンでAを選択した後、Bを選択しなおすと 2番目のプルダウンの選択肢には前回Aを選んだ時に表示されていた内容が 残ってしまいます。そこで 連動するプルダウンの内容を作成する処理(Forループの処理)の直前で  for (i=0; i<itemNum; i++) {   document.myForm.tableName.options[i] = new Option(null, null);  } という初期化処理を書いてみたのですが結果は同じでした。 解決するための何か良い方法はございますでしょうか。 <html> <head> <title>プルダウン連動サンプル</title> <script type="text/javascript"> table_name = [["10", "9", "8", "7", "6"], ["りんご", "メロン", "バナナ"], ["嵐"]]; function setMenuItem(n) { itemNum = table_name[n].length; // 項目数 //連動するプルダウンの内容を作成 for (i=0; i<itemNum; i++) { alert(table_name[n][i]); document.myForm.tableName.options[i] = new Option(table_name[n][i], table_name[n][i]); } //プルダウンの先頭を選択 document.myForm.tableName.options[0].selected = true; } </script> </head> <body onLoad="setMenuItem(0)"> <form name="myForm"> <select name="database" onChange="setMenuItem(this.selectedIndex)"> <option selected>A</option> <option>B</option> <option>C</option> </select> <select name="tableName"> </select> </form> </body> </html>

  • Ajaxをつかって連動するプルダウンに連動してCSVを読み込む

    やりたいことは下記のとおりです。 まず、箇条書きでご説明します。 ・プルダウンをAjaxでキレイにみせたい。 (参考にしようとしているサイト→http://moto-mono.net/sample/jQueryselectable/) ※ここはなんとかできるかもしれませんが、下記のAjaxと連動させてつかいたいので、参考程度に・・・ ・プルダウンを連動させたい。 (参考にしているサイト→http://c-man.s21.xrea.com/mars/md20071109.html) ※ここは、やり方がわかります。 参考サイトのまんま使えるため。 ここからが、わからない部分です。↓ ・プルダウンを連動させた最後の項目でリンクがしたい。 (参考にしようとしているサイト→http://javascript.maxux.com/js017.htm) ただ、このリンク先サイトは、プルダウンが連動しているわけではなくoption value="#" でリンクされているだけです。 そうではなく↓ 下記サイトのように http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter03/002/sample1/index.html Ajaxを使って、CSVを表(テーブル)に反映させるようにしたいです。 このサイトでは onClick="loadDataFile('sample.csv')"  で、CSVを読み込んでいるのですが、このリンクをどこに貼り付ければよいのか、またどのようにはりつければよいのかがわかりません。 Ajaxはともに、Jqueryを使用するつもりですのでバッティングすることはないかなと勝手に思っています。 どなたかお力をお貸し下さい!

  • Excelでプルダウンと連動して日付表示を変える方法。

    Excelでプルダウンと連動して日付表示を変える方法。 Excelについてご教授お願いいたします。 現在Excelの勉強中で、勤務表などを作成したいと考えています。 プルダウンから2010年01月など日付を選ぶだけで、その選択したリストに連動して、下の部分にその月ごとの日付や曜日が表示されるようにするにはどのように設定すればよろしいのでしょうか? プルダウンリストの月ごとに29日、30日、31日と表示を変化させるためには、別sheetを参照するプルダウンリストの作成などで作成できるものなのか、それともVBAを新たに勉強する必要がありますでしょうか? 方法を教えていただければ幸いです。

  • プルダウン連動とリンク

    選択項目により連動するプルダウンを利用し、各々のページにリンクさせようと思っているのですが、上手くいきません。 一つ目のプルダウンで項目を選択⇒二つ目のプルダウンに項目が表示される⇒選択するとリンクする。 プルダウンはこちらのソースを利用しています。 http://d.hatena.ne.jp/Mars/20071109 連動リンクはこちらを参考にしました。 http://air.rulez.jp/shop/java/jt_pulldown.htm 現在のソースは下記のようになっています。 プルダウンの連動とリンク、それぞれ単体での動作確認は出来たのですが、組み合わせると上手くいきません。 最初のプルダウンで「YYY」を選択し、連動して次のプルダウンに表示される「yahooかgoogle」を選択したらURL先にリンクしたいのですが。 現在はプルダウンは連動はされるものの、2つめのプルダウンで項目を選択しても何も起こらない状態です。 ----------------------------------------------------------------- <script type="text/javascript" src="ConnectedSelect.js"></script> <form> <select id="SEL1"> <option value="XXX">XXX</option> <option value="YYY">YYY</option> </select> <select id="SEL2" onChange="top.location.href=value"> <optgroup label="XXX"> <option value="x1">x1</option> <option value="x2">x2</option> </optgroup> <optgroup label="YYY"> <option value="http://www.yahoo.co.jp/">yahoo</option> <option value="https://www.google.co.jp/">google</option> </optgroup> </select> </form> <script type="text/javascript"> ConnectedSelect(['SEL1','SEL2','SEL3']); </script> --------------------------------------------------------------- これはどのように修正すればリンクされるようになるでしょうか? また別の方法があればそちらでも構いません。 ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

  • プルダウンメニューからチェックボックスを表示したい

    php、javascript、mysqlを使用し、プルダウンで選択後、チェックボックスを表示させる仕組みを作りたいのですが、 どうすればよいのか分かりません。 どなたか力を貸して頂きたく思います。 例えば下記のようなTBLがあったとします。 ■TBL:oya  oyaコード  10  20  30 ■TBL:ko  oyaコード    koコード  10        1100  10        1200  10        1300  20        2100  20        2200  30        3100 TBL 「oya」 をプルダウンメニューにセット。 プルダウンメニューを選択する度にTBL 「ko」を呼び出し、同ページ内にチェックボックスとして表示させたいと考えています。 例) ・10が選択されたら  「1100」、「1200」、「1300」のチェックボックスを表示する プルダウンメニューへのセットは出来たのですが、プルダウン選択後の「ko」を呼び出す箇所が分かりません。 php Mysql javascript で実現したいと考えております。 サンプルページでもいいですので、何かありましたら教えて下さい。 お分かりになる方よろしくお願いいたします。

  • プルダウンリストとテキストエリアの連動

    どう調べてもわからないので教えてください。 HTML上で動作するツールを作成しています。 最終的に、あるテンプレートをテキストエリアに表示させたいと考えています。 そのために、項目をいくつかプルダウンで選択し進んでいくというものです。 プルダウンリストは、選択したリストにより連動し、選択肢が変わるように したいのです。 項目別にプルダウンは5つ、5つ目はない場合もあります。 【手順】 (1)プルダウン(1)選択 ↓ (2)プルダウン(2)選択 ↓ (3)プルダウン(3)選択 ↓ (4)プルダウン(4)選択 ↓ (5)プルダウン(5)選択 ←選択肢がない場合あり ↓ テキストエリアに該当の文言が表示 ちょっと複雑なのですが、よろしくお願いいたします。

  • ruby on rails プルダウンの連動についてご質問します。

    ruby on rails プルダウンの連動についてご質問します。 ネットで検索して、試しているのですがうまくいきません。 まず、kaisha-code,kaisha-mei,bumon-code,bumon-mei(会社コードと部門コードがキー項目です) の項目をもつDBがあります。 別画面で、会社コードと部門コードのプルダウンの連動をしたいと考えています。 まず、会社コードを選択し、それに紐づく部門コードをプルダウンで表示したいさせたいのですが、うまくいきません。 また、プルダウンの表示は会社名、部門名で表示させます。 会社名を表示させるところまではいいのですが、連動の部分がうまくいかず、部門コードの参照がうまくいきません。 大変困っています。わかる方がいらっしゃいましたら、よろしくお願いいたします。

  • 連動プルダウンの結果を表示

    http://d.hatena.ne.jp/Mars/20071109 ↑こちらのサイトを参考に3つの連動プルダウンを作成したのですが、 この機能にプラスで、最後、 【あなたの選んだものは、⚫️⚫️⚫️です】 のように、結果をウェブ上に表示したいのですが、javascriptが全くダメで、 表示できずに困っています。 ドットインストールなど様々な学習サイトを見ましたが、できませんでした。 すでに変数を持っているので、表示の命令をすればいいとは思うのですが、 わかりませんでした。 表示方法を教えてください。 よろしくお願い致します。

  • 携帯サイト 連動する2つのプルダウンメニュー

    同じ質問をCGIの方にもしているのですが、 こちらのカテゴリーにも、失礼ながら再度質問いたします。 現在mobile用の会員登録フォームを作成しています。 初めてのmobile用のフォームの作成で 利用店舗登録の部分でjavascriptが使えなく困っています・・・。 店舗数が多いので地域を選択後、利用店舗を選択するのを考えているのですが 1つ目のselectメニューで地域を選択 2つ目のselectメニューで1つ目のselectメニューで選択した地域の店舗リストを表示させる。 CGI,perl,PHPでは、可能でしょうか。 システムに関しては、完成しているシステムを変更する事は、しているのですが、現在勉強中なのでサンプルコードなども、お教えいただければ幸いです。 お手数ですが、お力をお貸しいただければ幸いです。

    • 締切済み
    • PHP