2012-02-02 1 views
19

라디오 버튼, 텍스트 및 선택에 대한 입력 유형을 찾아야합니다. xjQuery 입력 유형을 찾으십시오. (또한 선택을 위해)

내 문제를 반환 $(this).attr("type") 이후 <input type="x">에 아무것도 입력 유형을 찾기 위해 쉽게 내가 type 속성을 가지고 있겠지 <select> 요소를 지원해야한다는 것입니다. 최종 목표는 라디오, 텍스트 또는 선택 중 하나를 반환하는 것입니다.

는이 같은 일을 생각하지만, 더 나은 방법이 있는지 궁금했다 : 모든

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) 
} 

감사합니다!

답변

52

당신은이 (fiddle here)을 할 수 있도록 사용하기 쉬운 플러그인의 일종 수 있습니다

$.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")' –

관련 문제