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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

16844閲覧

ラジオボタンの選択肢によって、要素を表示したい。

rera

総合スコア109

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/03/11 18:24

HTML

1<label class="radio-inline"> 2<input type="radio" name="first" value="msg">hoge 3<textarea id="msg" style="display:none" name="msg"><?php echo $msg ?></textarea> 4</label> 5<label class="radio-inline"> 6<input type="radio" name="first" value="redirect">hogehoge 7<input id="redirect" style="display:none" type="text" name="redirect"> 8</label>

このような上記HTMLコードがありまして、ラジオボタンのチェックの状態によって
"display:none"となっているところを表示したいと考えております。

javascript

1jquery(function () { 2 if (jquery('input[name=first]:checked').val() === 'msg') { 3 jquery('textarea[name=msg]').show(); 4 } 5});

このようなjQueryを書いてみたのですがうまく動作いたしません。
ラジオボタンが何も選択されてない状況では何も表示されなくていいのですが
どのようなjQueryを書いたら良いのでしょうか。

jQuery, javascriptは今回初めて触れます。
暑苦しいですがよろしくお願い致します。

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

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

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

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

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

guest

回答2

0

http://jsdo.it/katoy/4x6yに作ってみました。
イメージ説明

javascript

1$('input[type=radio]').change(function() { 2 var selected = $('input[name=first]:checked').val(); 3 $('.input_x').hide(); 4 $("#" + selected).show(); 5});
<div> <input type="radio" name="first" value="msg"><label class="radio-inline">msg</label> <input type="radio" name="first" value="redirect"><label class="radio-inline">redirect</label> </div> <div> <textarea id="msg" style="display:none" name="msg" class="input_x">XXX</textarea> <input id="redirect" style="display:none" type="text" name="redirect" class="input_x" placeholder="redirect"> </div>

投稿2016/03/11 23:48

編集2016/03/11 23:50
katoy

総合スコア22324

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

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

0

ベストアンサー

単純に書き換えると、

javascript

1$('input[type=radio]').change(function() { 2 3 if($('input[name=first]:checked').val() === 'msg') { 4 $('textarea[name=msg]').show(); 5 } 6 7});

という感じでしょうか。

元々のソースだと、scriptが読み込まれた時に全て実行されていますので、読み込まれた瞬間に動作が終了しています。radioをチェックしたら、という動作にする必要があるということです。

あと、「暑苦しい」じゃなくて、「厚かましい」ですかね?(笑)
お互い早く寝た方が良さそうですね。。。

投稿2016/03/11 18:41

amaranthine

総合スコア501

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

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

rera

2016/03/22 23:29

ご連絡が遅くなり申し訳ありません! ありがとうございます! そうですね...この時はもうぼーっとしていましたw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問