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

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

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

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

Q&A

1回答

551閲覧

JSの値受け渡しが上手くできない。

Goethe

総合スコア17

jQuery

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

0グッド

0クリップ

投稿2021/04/22 15:44

JQueryでお問い合わせフォームの動作を作っています。

入力画面の初期状態では、「contact-change1(法人)」と「contact-chenge2(個人事業主)を非表示にして、changeイベントでセレクトボックスの「法人」を入力したら「extraction_val 」に値を代入して、「法人」を表示する、といった処理をしています。

確認画面で入力した値を表示させたいのですが、確認画面のスラッグを条件にして下記のように記述しても、入力画面で取得した「extraction_val」の値が受け取れません。

どこか書き方が悪いのでしょうか?
extraction_val の値を入力画面でも扱えるようにしたいです。
宜しくお願い致します。

JQuery

1(function($){ 2 var extraction_val; 3 const path = location.pathname; 4 if( path == '/contact/') { 5 console.log('準備できました'); 6 $('.contact-change1').hide(); 7 console.log('change1を消しました'); 8 $('.contact-change2').hide(); 9 console.log('change2を消しました'); 10 $("#select-list").change(function() { 11 const extraction_val = $('select[name="select"]').val(); 12 if(extraction_val == "法人") { 13 $('.contact-change1').show(); 14 $('.contact-change2').hide(); 15 }else if(extraction_val == "個人事業主") { 16 $('.contact-change1').hide(); 17 $('.contact-change2').show(); 18 }else if(extraction_val == "個人") { 19 $('.contact-change1').hide(); 20 $('.contact-change2').hide(); 21 }else{ 22 $('.contact-change1').hide(); 23 $('.contact-change2').hide(); 24 } 25 return extraction_val; 26   }) 27 28 } else if( path == '/contact-check/') { 29          console.log('確認準備できました'); 30 console.log(m); 31    const contactType = $('input[name="contact-type"]').val(); 32  if(extraction_val == "法人") { 33 console.log(extraction_val); 34 $('.contact-change1').show(); 35 $('.contact-change2').hide(); 36 }else if(extraction_val == "個人事業主") { 37 $('.contact-change2').show(); 38 $('.contact-change1').hide(); 39 } 40 41   } 42})(jQuery);

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

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

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

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

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

guest

回答1

0

1.changeに渡した関数の中でreturn extraction_val;としたところでどこにも値は残らない。

js

1 $("#select-list").change(function() { 2 /* 中略 */ 3 return extraction_val; 4 })

2.location.pathnameを見て内容を切り替えているが、ページ移動した後に変数の値は残らない。


selectの内容を次のページに送っているのであれば、その値を探すべき。

投稿2021/04/22 16:04

kei344

総合スコア69458

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問