
jQueryでinput要素を全て取得する方法まとめ
jQueryを使ってHTML内のinput要素を効率的に取得する方法を、実用的なサンプルコードと共に解説します。初心者の方でも分かりやすく、様々な場面で応用できるテクニックを紹介します。
1. 基本的なinput要素の取得方法
  $('input') を使用すると、ページ内の全てのinput要素を取得できます。
<input type="text" placeholder="テキストボックス1">
<input type="number" value="10">
<button id="getInputs">取得</button>
<script>
$(function(){
  $('#getInputs').on('click', function(){
    const $inputs = $('input');
    console.log($inputs); 
  });
});
</script>
上記のコードでは、ボタンクリック時に全てのinput要素を取得し、コンソールに表示します。
2. type属性を指定してinput要素を取得
  $('input[type="text"]') のように、type属性を指定することで特定の種類のinput要素のみを取得できます。
- テキストボックス: $('input[type="text"]')
- ラジオボタン: $('input[type="radio"]')
- チェックボックス: $('input[type="checkbox"]')
<input type="text" placeholder="テキストボックス">
<input type="radio" name="radioGroup" value="1"> 選択肢1
<input type="checkbox" value="on"> チェックボックス
<button id="getTextInputs">テキストボックスを取得</button>
<script>
$(function(){
  $('#getTextInputs').on('click', function(){
    const $textInputs = $('input[type="text"]');
    console.log($textInputs); 
  });
});
</script>
上記のコードでは、ボタンクリック時にテキストボックスのみを取得し、コンソールに表示します。
3. 特定のクラスやIDを持つinput要素を取得
- クラスを指定: $('.myClass')
- IDを指定: $('#myId')
- 複数条件: $('input.myClass')(input要素かつmyClassクラスを持つ要素)
<input type="text" class="myClass" placeholder="クラス指定">
<input type="number" id="myId" value="20">
<button id="getClassInputs">クラス指定を取得</button>
<script>
$(function(){
  $('#getClassInputs').on('click', function(){
    const $classInputs = $('.myClass');
    console.log($classInputs); 
  });
});
</script>
上記のコードでは、ボタンクリック時にmyClassクラスを持つinput要素を取得し、コンソールに表示します。
4. 取得したinput要素の値を取得・設定
  val() メソッドを使用することで、取得したinput要素の値を取得・設定できます。
<input type="text" id="myInput" value="初期値">
<button id="getValue">値を取得</button>
<button id="setValue">値を設定</button>
<script>
$(function(){
  $('#getValue').on('click', function(){
    const value = $('#myInput').val(); 
    console.log(value);
  });
  $('#setValue').on('click', function(){
    $('#myInput').val('新しい値'); 
  });
});
</script>
上記のコードでは、"値を取得"ボタンでinput要素の値を取得し、"値を設定"ボタンで新しい値を設定します。
5. フォーム内のinput要素をまとめて取得・処理
  $('form').find('input') を使用すると、特定のフォーム内のinput要素をまとめて取得できます。
  each() メソッドを使用すると、取得した要素を順番に処理できます。
<form id="myForm">
  <input type="text" name="name" placeholder="名前">
  <input type="email" name="email" placeholder="メールアドレス">
  <button type="button" id="getFormValues">フォームの値を取得</button>
</form>
<script>
$(function(){
  $('#getFormValues').on('click', function(){
    $('#myForm').find('input').each(function(){
      const value = $(this).val();
      const name = $(this).attr('name');
      console.log(name + ': ' + value); 
    });
  });
});
</script>
上記のコードでは、"フォームの値を取得"ボタンクリック時に、フォーム内の各input要素のname属性と値を取得し、コンソールに表示します。
6. 属性による絞り込み
以下のような属性セレクタを使用して、特定の状態のinput要素を絞り込むことができます。
| セレクタ | 説明 | 
|---|---|
| :checked | チェックされているチェックボックスやラジオボタンを取得 | 
| :disabled | 無効化されているinput要素を取得 | 
| :enabled | 有効化されているinput要素を取得 | 
<input type="checkbox" checked> チェックされています
<input type="text" disabled> 無効
<button id="getChecked">チェック済みを取得</button>
<script>
$(function(){
  $('#getChecked').on('click', function(){
    const $checkedInputs = $('input:checked');
    console.log($checkedInputs); 
  });
});
</script>
上記のコードでは、"チェック済みを取得"ボタンクリック時に、チェックされているinput要素を取得し、コンソールに表示します。
7. まとめ
本記事では、jQueryを使用してinput要素を取得する方法を様々なパターンに分けて解説しました。これらのテクニックを組み合わせることで、ウェブサイト上のあらゆるinput要素を柔軟に操作することができます。 jQueryを使ったinput要素の操作は、ウェブサイトのインタラクティブ性を高めるために非常に重要です。ぜひ本記事を参考に、jQueryを活用してみてください。
関連文献
QA
Q1: 複数のtype属性を持つinput要素を取得するにはどうすればよいですか?
A1: 複数セレクタを使用します。例えば、テキストボックスとパスワード入力フィールドを取得するには、以下のように記述します。
$('input[type="text"], input[type="password"]')Q2: 取得したinput要素の数を数えるにはどうすればよいですか?
A2: length プロパティを使用します。例えば、以下のコードは、ページ内のinput要素の数をコンソールに出力します。
console.log($('input').length);Q3: 動的に生成されたinput要素を取得するにはどうすればよいですか?
A3: 動的に要素が追加される親要素にイベントリスナーを設定します。以下の例では、body要素にイベントリスナーを設定し、その中で動的に追加されたinput要素を取得しています。
$('body').on('click', '.add-input', function() {
  // input要素を追加する処理...
  // 追加されたinput要素を取得
  const $newInput = $('.newly-added-class'); 
  // ...
});
その他の参考記事:jquery value 取得