1. ホーム
  2. jquery

[解決済み] jqueryを使用して入力タイプを取得する方法は?

2022-05-10 07:54:39

質問

入力タイプが常に変化するページがあり、入力タイプに応じた値を取得する必要があります。タイプがラジオであれば、私はチェックされているものを取得する必要があり、チェックボックスであれば、私はチェックされているものを知る必要があり、ドロップダウンであれば、私は選択されているものを知る必要があり、私はそれがテキスト/テキストエリアであれば、値を知る必要があります。

それを行う方法について何かアイデアはありますか?

どのように解決するのですか?

2013年2月1日編集。 この回答の人気と、プロパティと属性に関するバージョン 1.9 (および 2.0) の jQuery の変更のため、いくつかのメモと、入力、ボタン、およびいくつかの選択でプロパティ/属性にアクセスするときにどのように動作するかを確認する fiddle を追加しました。 フィドルはこちら。 http://jsfiddle.net/pVBU8/1/


すべての入力を取得します。

var allInputs = $(":input");

すべての入力タイプを取得します。

allInputs.attr('type');

値を取得する。

allInputs.val();

注意: .val()は :checked と同じではありません。 を使用します。

.attr("checked");


EDIT Feb 1, 2013 - re: jQuery 1.9 use prop() not attr() as attr will not return proper values for properties that have changed.

.prop('checked');

または単に

$(this).checked;


を使えば、チェックの値を得ることができます。

EDIT: タイプを取得する別の方法を紹介します。

var allCheckboxes=$('[type=checkbox]');

EDIT2: の形になることに注意。

$('input:radio');

よりも優先されます。

$(':radio');

となり、どちらも等しくなります。

$('input[type=radio]');

のような形でも、"input"が欲しいので、入力だけを取得し、普遍的な'*"は使用しません。 $(':radio') と等しい $('*:radio');

EDIT 2015年8月19日:優先順位は $('input[type=radio]'); を使用する必要があります。そうすることで、モダンブラウザがラジオ入力の検索を最適化することができます。


2013年2月1日、select 要素に関するコメントにより編集しました。 @dariomac

$('select').prop("type");

は "select-one" または "select-multiple" を返し、 "multiple" 属性と

$('select')[0].type 

は、最初のselectが存在すれば同じものを返します。 そして

($('select')[0]?$('select')[0].type:"howdy") 

は、存在すればその型を返し、存在しなければ "howdy"を返します。

 $('select').prop('type');

は、DOM内に存在する場合は最初のもののプロパティを、存在しない場合は "undefined"を返します。

$('select').type

は、存在すればその型を返し、存在しなければエラーを返します。