2010-12-08 22 views
17

की आईडी पर कब्जा मैं इसjQuery onClick तत्व

<input type="radio" name="name" id="name" onchange="enableTxt()" /> 

जैसे कई इनपुट फ़ील्ड है जब मैं यह रेडियो बटन मैं रेडियो इनपुट की आईडी पर कब्जा करना चाहते हैं पर क्लिक करें।

<input type="radio" name="name" id="name" onchange="enableTxt(this)" /> 

जे एस: मैं निम्नलिखित कोड

function enableTxt() { 
    var id = $(this).attr("id"); 
    alert(id); 
} 

Am यह त्रुटि मिलती

a.attributes is undefined 
+1

हर्ष, आप तर्क के रूप में कार्य करने के लिए इस पारित करने के लिए की जरूरत है, कि इस मुद्दे को – kobe

+1

एक सुझाव @harsa के रूप में आप पहले से ही jQuery का उपयोग कर रहे है, document.ready विनिमय ईवेंट में इनलाइन फ्यूशन को बदलें, ताकि यह स्पष्ट पृथक्करण और मूल्यों को पारित करने जैसे त्रुटियों को कम करने में कम परिवर्तन होगा – kobe

+0

धन्यवाद gov। मुझे लगता है कि आपका अधिकार –

उत्तर

26

एचटीएमएल का उपयोग कर रहा

function enableTxt(elem) { 
    var id = $(elem).attr("id"); 
    alert(id); 
} 
+0

आपने कुछ सेकंड में अपना जवाब हराया है सिर्फ – kobe

2

समारोह को यह पास

enableTxt(this) 

function enableTxt(item) { 
    var id = $(item).attr("id"); 
    alert(id); 
} 
2

प्रयास करें इस

alert($("input:radio").attr('id')); 
2

आप HTML से सिर्फ आईडी पारित कर सकते हैं

<input type="radio" name="name" id="name" onchange="enableTxt($(this).attr('id'))" /> 

function enableTxt(id) 
{ 
    alert(id); 
} 
0

एक अन्य विकल्प JQ साथ है

$("#name").on('onchange',enableText); 
इस के साथ

अपने वस्तु हो जाएगा वर्तमान यह

3

एचटीएमएल

<button class="destroy" id="123"> 

jQuery

$('button.destroy').on('click', function(e){ 
    e.preventDefault(); 
    console.log(this.id); 
+0

मजाक कर रहा हूं मुझे आपकी प्रतिक्रिया पसंद है, यह सबसे साफ है। एक चीज जिसे मैं समझ नहीं पा रहा हूं वह 'e.preventDefault();' जोड़ी आपने जोड़ा है। क्या आप मुझे समझाएंगे कि वह क्यों है? – Jacob

+1

ठीक है अगर बटन एक रूप में है तो यह फ़ॉर्म को पोस्ट करने से रोक देगा, इस तरह यह उसी पृष्ठ पर रहता है। यह आपके प्रश्न में आवश्यक नहीं है और इसे अनदेखा किया जा सकता है –

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