2012-02-02 14 views
19

मुझे रेडियो बटन, टेक्स्ट और चयन के लिए इनपुट प्रकार ढूंढना होगा। इसका आसान <input type="x">$(this).attr("type") के बाद से साथ कुछ भी की इनपुट प्रकार खोजने के लिए xjQuery इनपुट प्रकार ढूंढें (लेकिन चयन के लिए भी)

मेरे मुद्दा वापसी होगी कि मैं <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 अंक '$ (": इनपुट ")' –

संबंधित मुद्दे