2012-02-02 19 views
19

ラジオボタン、テキスト、および選択の入力タイプを見つける必要があります。 $(this).attr("type")xjQuery入力タイプの検索

私の問題は、私はtype属性を持っていけない<select>要素を、サポートする必要があるということです戻ってくるので、<input type="x">を使って何の入力タイプを見つけるのはその簡単。最終目標は、ラジオ、テキスト、または選択のいずれかを行うことです。

私はこのような何かをやって考え、より良い方法がある場合、私は興味があった:すべての

if ($(this).tagName == "input") { 
    var result = $(this).attr("type"); //returns radio or text (the attr type) 
} else { 
    var result = $(this).tagName;  //returns select (the element type) 
} 

ありがとう!

あなたがこの( fiddle here)を行うことができます

答えて

52

、プラグインを使用するように簡単のいくつかの並べ替えを行います。

$.fn.getType = function(){ return this[0].tagName == "INPUT" ? this[0].type.toLowerCase() : this[0].tagName.toLowerCase(); } 

そして、その最初の要素の型を取得します。この

$(".element").getType(); // Will return radio, text, checkbox, select, textarea, etc (also DIV, SPAN, all element types) 
$(".elList").getType(); // Gets the first element's type 

のようにそれを使用しますが選択される。

その他の情報

あなたはちょうどあなたがこの使用できるいくつかのセレクタがしたい場合:

$("input:text, input:radio, select"); 

を、またはすべてのフォームコントロールを選択します(more info):用

$(":input") // can return all form types 
+7

10ポイント'$(":input ")' –

関連する問題