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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1627閲覧

フォーム: Selectで選択した内容をInputに返したい

MATRIX

総合スコア16

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/11/15 10:11

編集2018/11/15 10:17

現在、フォームを構築しており次の事が可能かどうか質問させて頂きます。

Selectボックスで選択した内容をInputに返したいと考えております。
出来ればvalueでは無くて表示の方を返したいと考えております。

HTML

1<select name="color" id="color"> 2 <option value="red"">赤</option> 3 <option value="yellow"">黄</option> 4 <option value="blue"">青</option> 5</select> 6 7<input name="color_name" type="text" id="color_name" value="">

例えば、選択ボックス(select)で青を選択した場合、自動的にinputのフィールドに"青"と入力されるようにしたいと考えております。

どなたかご教授頂ければ幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

javascript

1<script> 2window.addEventListener('DOMContentLoaded', function(e){ 3 document.querySelector('#color').addEventListener('change',function(e){ 4 var t=e.target; 5 document.querySelector('#color_name').value=t.options[t.selectedIndex].textContent; 6 }); 7}); 8</script> 9<select name="color" id="color"> 10 <option value="red""></option> 11 <option value="yellow""></option> 12 <option value="blue""></option> 13</select> 14 15<input name="color_name" type="text" id="color_name" value="">

調整版

入力欄に100、200、300のどれかを入れるとselectが変化し、表示欄に値が表示される

javascript

1<script> 2HTMLElement.prototype.trigger=function(eventStr){ 3 if (document.createEvent) { 4 var e = document.createEvent("HTMLEvents"); 5 e.initEvent(eventStr, true, true ); 6 return this.dispatchEvent(e); 7 } else { 8 var e = document.createEventObject(); 9 return this.fireEvent("on"+eventStr, e); 10 } 11}; 12window.addEventListener('DOMContentLoaded', function(e){ 13 document.querySelector('#inp').addEventListener('keyup',function(e){ 14 var v=e.target.value; 15 var c={"100":"red","200":"yellow","300":"blue"}; 16 if(typeof c[v]!=="undefined"){ 17 document.querySelector('#color').value=c[v]; 18 }else { 19 document.querySelector('#color').value=""; 20 } 21 document.querySelector('#color').trigger('change'); 22 }); 23 document.querySelector('#color').addEventListener('change',function(e){ 24 var t=e.target; 25 document.querySelector('#color_name').value=t.selectedIndex==0?"":t.options[t.selectedIndex].textContent; 26 }); 27}); 28</script> 29<select name="color" id="color"> 30<option value="">選択</option> 31<option value="red"></option> 32<option value="yellow"></option> 33<option value="blue"></option> 34</select><br> 35入力:<input type="text" id="inp" value=""><br> 36表示:<input name="color_name" type="text" id="color_name" value="" readonly> 37

投稿2018/11/15 10:22

編集2018/11/15 10:56
yambejp

総合スコア114843

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

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

MATRIX

2018/11/15 10:29

yambejpさん、早速のご回答ありがとうございます。 上記のソースで一応動くことは確認出来ました。ただし、手動で選択された場合のみみたいです。 Selectボックス(color)の値が別のinputフィールドからonkeyupを使用して自動的に選択された物の場合にも動作するように出来るのでしょうか? ご確認いただければ幸いです。
yambejp

2018/11/15 10:33

> inputフィールドからonkeyupを使用して自動的に選択された物 とは、具体的にはテキストボックスになにか書くとselectが変わるのですか? 仕様がわかりません
MATRIX

2018/11/15 10:42

はい、その通りです。 上記は分かりやすくする為にカラー選択でサンプルを書いたのですが、実際にやりたいことは郵便番号の自動入力です。 現在、AjaxZip3というライブラリーを使っております。 ( https://github.com/ajaxzip3/ajaxzip3.github.io ) そこで、郵便番号入力用のinputと都道府県を選択するselectボックスと残りの住所が入力されるinputフィールドがあります。 郵便番号を入力すると自動的に都道府県が選択されます。その後に、残りの住所も別のinputフィールドへと記入されます。 ここでやりたいのは、 1. 郵便番号を入力 2. 都道府県のselectボックスが自動で選択 3. 都道府県の名前が別のinputへと渡される これをやりたい理由はメールに色々な値を記載する為なのですが、現在の環境の仕様上、都道府県のセレクトボックスからは値を引用出来ない為です。そこで別のフィールドへコピーしてそこからメールへ記載する形となります。 ややこしくてすみません。
yambejp

2018/11/15 10:56

なんとなく想像して調整版をあげておきました。
MATRIX

2018/11/15 11:22

ありがとうございます。 残念ながらこちらの希望の様には動きませんでしたが、ソース自体は問題なく動いてる事を確認いたしました。 やりたい事を具体的に書いた質問を別で作成させて頂きます。 お付き合い頂き、本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問