質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1658閲覧

jsでの年月日のプルダウン選択

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/08/30 14:02

編集2018/09/03 00:13

jsで年月日のプルダウンを作りたい

ここに質問の内容を詳しく書いてください。
年月日をプルダウンから選んで表示できるようにしたいです。
このコードだと初期表示で現在の年月日が表示押されてしまうのでそれを非表示にさせたいですどうしたらいいでしょうか?
javascript
ソースコード

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>年月日表示の練習</title> </head> <body> <select name="year" id="id_year"> </select> <select name="month" id="id_month"> </select> <select name="day" id="id_day"> </select> <script> (function() { 'use strict';

/*
今日の日付データを変数todayに格納
*/
var optionLoop, this_day, this_month, this_year, today;
today = new Date();
this_year = today.getFullYear();
this_month = today.getMonth() + 1;
this_day = today.getDate();

/*
ループ処理(スタート数字、終了数字、表示id名、デフォルト数字)
*/
optionLoop = function(start, end, id, this_day) {
var i, opt;

opt = null; for (i = start; i <= end ; i++) { if (i === this_day) { opt += "<option value='" + i + "' selected>" + i + "</option>"; } else { opt += "<option value='" + i + "'>" + i + "</option>"; } } return document.getElementById(id).innerHTML = opt;

};

/*
関数設定(スタート数字[必須]、終了数字[必須]、表示id名[省略可能]、デフォルト数字[省略可能])
*/
optionLoop(1950, this_year, 'id_year', this_year);
optionLoop(1, 12, 'id_month', this_month);
optionLoop(1, 31, 'id_day', this_day);
})();

</script> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/08/30 15:20

Java C#は本質問とはどのような関係があるのでしょうか。プログラムコード(およびエラーメッセージ)は質問内容としては最も重要な部分であるため、見やすくしていただけると助かります。<code>ボタン押下→「コード」部分にコードを貼り付け→「ここに言語を入力」に対象言語名記入(エラーメッセージの場合は不要)の手順で「コードハイライト化」してください。(質問編集画面ではリアルタイムでプレビューが表示されるので見ながら調整してください)
guest

回答2

0

ベストアンサー

ちょっと質問に至る状況が理解不能なのですが、

このコードだと初期表示で現在の年月日が表示押されてしまうのでそれを非表示にさせたいです

javascript

1if (i === this_day) { 2opt += "<option value='" + i + "' selected>" + i + "</option>"; 3}

この部分で、初期状態で今日が選択になるように、意図的に記載していますよね?
意図的にそうコーディングしたのに、そうでなくしたいという意味が分かりません。

回答としては

javascript

1for (i = start; i <= end ; i++) { 2if (i === this_day) { 3opt += "<option value='" + i + "' selected>" + i + "</option>"; 4} else { 5opt += "<option value='" + i + "'>" + i + "</option>"; 6} 7}

javascript

1for (i = start; i <= end ; i++) { 2opt += "<option value='" + i + "'>" + i + "</option>"; 3}

だと思います。

投稿2018/08/31 02:16

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

optionLoopのforループが始まる前に空の選択肢をselected状態で作ってやればよいでしょう。

javascript

1//opt = null; //これをコメントして 2opt = '<option value="--" selected>--</option>'; //先頭に空の選択肢を挿入

その後、for文中の本日にselectedを付与する処理を消去すれば先頭に作った空の選択肢が選択状態になります。
valueや表示テキストは要件に合わせ適宜変更してください。

投稿2018/08/30 22:41

hope_mucci

総合スコア4447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問