2012-06-20 10 views
10

मैं कैसे जांच सकता हूं कि दिया गया डीओएम तत्व एक चेकबॉक्स है या नहीं।जांचें कि क्या डोम एलिमेंट एक चेकबॉक्स है

परिदृश्य:

मैं बक्सें और चेक बॉक्स है, जिसमें मान डायनामिक आवंटित कर रहे हैं का एक सेट है। मेरे पास यह पहचानने का कोई तरीका नहीं है कि क्या DOM तत्व चेकबॉक्स या टेक्स्टबॉक्स है।

उत्तर

15

आप jQuery का उपयोग कर रहे हैं, तो आप :checkbox चयनकर्ता is विधि के साथ उपयोग कर सकते हैं करने के लिए चयनकर्ता है is():

if ($el.is(':checkbox')) { ... } 
1

checkbox selector पर एक नज़र डालें।

var checkboxes = $("form input:checkbox"); 

आप बता सकते हैं कि किस प्रकार एक इनपुट इस तरह है:

if ($(".your-input").is(":text")) 
{ 
    // Textbox 
} 
else if ($(".your-input").is(":checkbox")) 
{ 
    // Checkbox 
} 
37

केवल वेनिला जावास्क्रिप्ट आप

if (el.type && el.type === 'checkbox') { 
    ... 
} 

या भी कम

if ((el || {}).type === 'checkbox') { 
    ... 
} 
+2

कई सालों बाद .... आप शायद उस प्रकार के मूल्य को 'toLowerCase' करना चाहते हैं, है ना? – Nathan

+0

नहीं, कृपया 'लोअरकेस' में कनवर्ट करें और फिर तुलना करें। –

+0

@ एंड्रियासकोर्बर यह इस बात पर निर्भर होना चाहिए कि आपने मार्कअप में विशेषता कैसे लिखी है, है ना? – fcalderan

0

कोशिश कर सकता है का उपयोग करते हुए इस;

if($("#that-particular-input").is(":checkbox")) { 
} 
0

jQuery:

$(element).is(':checkbox'); 
यहाँ

element अपने element

if( $(element).is(':checkbox')) { 
    // do something 
} 
0

आप छद्म का भी उपयोग कर सकते हैं:

$('#myinput').is(':checkbox')

3
if($(element)[0].type == "checkbox") { 

} 

या

if($(element).is(':checkbox')) { 

} 
8

चेकों कुछ भी

function isCheckbox (element) { 
    return element instanceof HTMLInputElement 
     && element.getAttribute('type') == 'checkbox' 
} 
: jQuery के लिए एक कॉल के साथ चेकबॉक्स समारोह है
0

आपके पास एक सभ्य नामकरण सम्मेलन होना चाहिए जो आपको यह जानने की अनुमति देता है कि कोई तत्व सिर्फ आईडी या नाम देखने से चेकबॉक्स है या नहीं। उदा। "chkMyCheckbox"

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