2012-11-21 32 views
5

का उपयोग कर नियंत्रण का प्रकार प्राप्त करना मैं नियंत्रण प्रकार प्राप्त करने के लिए JQuery का उपयोग करने का प्रयास कर रहा हूं और निम्नलिखित कोड का उपयोग कर रहा हूं।जावास्क्रिप्ट और JQuery

$('#selCity').attr('type') 

जहां सेलसिटी प्रकार का चयन है। जब मैं उपरोक्त कोड को आज़माता हूं तो यह अनिर्धारित के रूप में लौटाता है लेकिन जब मैं जावास्क्रिप्ट के साथ वैकल्पिक कोड का उपयोग करता हूं, तो यह सही प्रकार देता है।

यह स्पष्ट रूप से समझने के लिए इस बेला पर गौर करें: http://jsfiddle.net/Ye8e9/

कैसे मैं इस JQuery सही ढंग से उपयोग कर सकते हैं प्राप्त करने वाले किसी व्यक्ति सलाह सकता है? क्या यह JQuery के साथ कोई समस्या है या क्या मैं गलती कर रहा हूं?

उत्तर

8

उपयोग

$('#selCity').prop('type') 

jQuery 1.6 के रूप में, .attr() विधि गुण कि सेट नहीं किया गया के लिए अनिर्धारित दिखाता है। इसके अलावा, .attr() सादे ऑब्जेक्ट्स, सरणी, विंडो या दस्तावेज़ पर उपयोग नहीं किया जाना चाहिए। पुनर्प्राप्त करने के लिए और DOM गुणों को बदलें, .prop() विधि का उपयोग करें।

Reference

DEMO

+0

टाइप करें सभी प्रोसेस प्रकारों के लिए 'prop' काम करता है? –

+0

@AbishekRSrikaanth हाँ – Sibu

+0

@AbishekRSrikaanth मेरा संदर्भ – Sibu

4

यदि आप टैग के प्रकार, उपयोग इस

$("#selCity").get(0).tagName 

See your demo here

+0

रब नवाज की कोशिश, वहाँ एक सामान्य दृष्टिकोण है कि मैं सभी नियंत्रण के लिए प्राप्त करने के लिए का पालन कर सकते है। यदि मैं उपरोक्त कोड को टेक्स्टबॉक्स के लिए आज़माता हूं, तो मुझे "INPUT" मान मिलता है और इस आउटपुट के साथ यह सुनिश्चित नहीं है कि नियंत्रण एक छुपा हुआ फ़ील्ड है या टेक्स्टबॉक्स या पासवर्ड फ़ील्ड है। –

0

उपयोग nodename मिल 'टैग के प्रकार' के लिए मतलब है। '.type' विशेषता 'प्रकार' को संदर्भित करता है जो चयन नहीं करता है।

document.getElementById('selCity').nodeName 
+0

विशेषता 'प्रकार' द्वारा आपके द्वारा उपयोग किए जाने वाले कार्यों के बारे में सुनिश्चित नहीं है या नहीं समझते हैं, नियंत्रण नियंत्रण के लिए मौजूद नहीं है। निम्नलिखित कोड को निष्पादित करते समय जावास्क्रिप्ट आउटपुट डेटा कैसे होता है document.getElementById ('selCity')। –

0

आप अपरिभाषित हो रही है क्योंकि चयन में विशेषता टाइप नहीं है वहाँ।

यह एक

$('#selCity')[0].tagName;