0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

セレクトタグの選択に合わせてインプットの初期値を変更する方法

Last updated at Posted at 2021-05-27

RailsでのWEBアプリを開発する際、jQueryを使ってセレクトタグに連動してインプットの初期値を変更する方法を調べました。
自分用のメモとして学んだことをまとめます。

RailsにjQueryを導入

jQueryの導入方法についてはこの記事では割愛しますが、以前書いた以下の記事が参考になると思います。

セレクトタグの内容を取得

まずはセレクトタグの内容を取得するために、jsファイルにこのように記入します。

jsファイル
$('select[name="対象のセレクトタグのname属性"]').change(function() {
 var val = $(this).val();

 ここに処理を書いていく

});

セレクトタグの選択に応じて処理を指定

次に、対象のセレクトタグの値が変わった場合の処理を先程のコードに追記していきます。
やることとしては、セレクトタグの値に応じてinnerhtmlで値を指定します。

jsファイル
$('select[name="対象のセレクトタグのname属性"]').change(function() {
  var val = $(this).val();
  if (val == "セレクトタグのvalue1") {
    $('input[name="対象のインプットのname属性"]').val("入力したい初期値1");
  } else if (val == "セレクトタグのvalue2") {
    $('input[name="対象のインプットのname属性"]').val("入力したい初期値2");
  } else if (val == "セレクトタグのvalue3") {
    $('input[name="対象のインプットのname属性"]').val("入力したい初期値3");
  }
});

ちなみに初期値を変えたいのがインプットではなくテキストエリアの場合は次のような記載になります。

jsファイル
$('select[name="対象のセレクトタグのname属性"]').change(function() {
  var val = $(this).val();
  if (val == "セレクトタグのvalue1") {
    $('input[name="対象のテキストエリアのname属性"]').html("入力したい初期値1");
  } else if (val == "セレクトタグのvalue2") {
    $('input[name="対象のテキストエリアのname属性"]').html("入力したい初期値2");
  } else if (val == "セレクトタグのvalue3") {
    $('input[name="対象のテキストエリアのname属性"]').html("入力したい初期値3");
  }
});

これでセレクトタグに応じてインプットやテキストエリアの初期値が変わるはずです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?