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

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

新規登録して質問してみよう
ただいま回答率
85.46%
ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

JavaScript

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

Q&A

解決済

2回答

867閲覧

label名をtextareaにまとめて表示させたい

KojiR

総合スコア7

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

JavaScript

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

0グッド

0クリップ

投稿2020/12/18 12:24

編集2020/12/18 12:30

フォーム内のradioボタンがチェックされた時に対象のlabel名をtextareaに、
まとめて表示させる方法がなかなか思いつかず苦戦しております。

どなたかそのような方法ご存知の方いましたらよろしくお願いいたします。

<input type="radio" name="k_1" value="1018917"><label for="k_1">キッチンあり</label> <input type="radio" name="k_1" value="0" checked><label for="k_1">キッチンなし</label> <input type="radio" name="b_1" value="830959"><label for="b_1">浴室あり</label> <input type="radio" name="b_1" value="0" checked><label for="b_1">浴室なし</label> <input type="radio" name="t_1" value="145424"><label for="t_1">トイレあり</label> <input type="radio" name="t_1" value="0" checked><label for="t_1">トイレなし</label> <textarea name="チェックされたすべてのlabel名表示" cols="50" rows="5"></textarea>

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

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

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

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

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

m.ts10806

2020/12/18 13:17

レイアウト完成イメージを提示されたほうが良いかと思います。
guest

回答2

0

ベストアンサー

labelがforでidを指定していないのでラジオボタンの指定になっていません

投稿2020/12/18 13:34

yambejp

総合スコア115010

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

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

yambejp

2020/12/18 13:35

やるならこう? <script> document.addEventListener('input',(e)=>{ if(e.target.closest('[type=radio]')){ document.querySelector('textarea').textContent=[...document.querySelectorAll('[type=radio]:checked')].map(x=>{ return x.closest('label').textContent; }).join('\n'); } }); </script> <label><input type="radio" name="k_1" value="1018917">キッチンあり</label> <label><input type="radio" name="k_1" value="0">キッチンなし</label> <label><input type="radio" name="b_1" value="830959">浴室あり</label> <label><input type="radio" name="b_1" value="0">浴室なし</label> <label><input type="radio" name="t_1" value="145424">トイレあり</label> <label><input type="radio" name="t_1" value="0">トイレなし</label> <textarea name="チェックされたすべてのlabel名表示" cols="50" rows="5"></textarea>
KojiR

2020/12/19 02:22

ありがとうございます。 無事理想に近い動きをしましたのでこれを元にカスタマイズさせていただきます。 本当にありがとうございました。
guest

0

こんばんは。
わたしも考えてみたんですが、あまりきれいに書けませんでした...

javascript

1const updateTextarea = function(){ 2 var str = ""; 3 const keys = ['k', 'b', 't']; 4 keys.forEach(k => { 5 str += document.getElementsByName(k + '_1')[0].checked ? 6 document.querySelectorAll('label[for="' + k + '_1"]')[0].textContent : 7 document.querySelectorAll('label[for="' + k + '_1"]')[1].textContent; 8 }); 9 document.getElementsByTagName('textarea')[0].value = str; 10} 11Array.prototype.forEach.call(document.getElementsByTagName('input'),e => e.addEventListener('change', updateTextarea)); 12updateTextarea();

参考程度にしていただければ幸いです。

投稿2020/12/18 13:24

mtripg6666tdr

総合スコア37

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

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

KojiR

2020/12/19 02:22

ありがとうございます。 参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問