2012-10-09 11 views
14

मेरे पास कई इनपुट फ़ील्ड हैं जो jQuery स्वत: पूर्ण कार्यक्षमता के साथ बढ़ाए गए हैं। एक चुनिंदा घटना ट्रिगर होने पर संबंधित इनपुट फ़ील्ड कैसे प्राप्त करें?jQuery स्वत: पूर्ण विजेट ट्रिगर करने वाले इनपुट तत्व को कैसे प्राप्त करें?

<input name="1" value=""> 
<input name="2" value=""> 
<input name="3" value=""> 

$('input[type=text]').autocomplete({ 
    source: 'suggestions.php', 
    select: function(event, ui) { 
     // here I need the input element that have triggered the event 
    } 
}); 

उत्तर

8

select: function(event, ui) { 
     $(this).attr('name'); 
    } 
+0

धन्यवाद, काम हो गया! मैं $ (यह) कोशिश कर रहा था। नाम सोच रहा है कि यह अपरिभाषित क्यों है। :) –

+0

आपका स्वागत है, बस इसके बारे में खेद है। Event.target के लिए – Adil

1

उपयोग $(this) आप $(this) या event.target उपयोग कर सकते हैं की कोशिश करो।

फिर आप $(this).prop('name') या event.target.name का उपयोग कर नाम प्राप्त कर सकते हैं।

demo

3

का उपयोग कर $(this)

$('input[type=text]').autocomplete({ 
    source: 'suggestions.php', 
    select: function(event, ui) { 
     // here I need the input element that have triggered the event 
     alert($(this).attr('name')); 
    } 
}); 
+0

+1। $ (यह) (बंद और इस तरह) का उपयोग करने के बारे में थोड़ा सा संदेह था। लेकिन दोनों काम और घटना.target मेरे लिए नई जानकारी है। – Awemo

3

जहां तक ​​मैं इस उदाहरण के लिए बता सकते हैं, आप $() जरूरत नहीं होगी। this ठीक काम करेगा क्योंकि नाम एक परिभाषित विशेषता है।

this.name

23

मैं source परम के लिए एक गुमनाम समारोह का उपयोग कर रहा था, और $(this) अंदर यह funcion, नहीं तत्व है कि यह ट्रिगर किया गया था संदर्भित किया है। मुझे $(this.element) का उपयोग करना पड़ा।

अंतिम कोड इस के लिए इसी तरह समाप्त हो गया (मैं डेमो प्रयोजनों के लिए सरलीकृत):

$(".regionsAutocomplete").autocomplete({ 
    source: function(request, response){ 

     //The next line is the important one for this example 
     var input = this.element; 
     $(input).css('color','red'); 

     var data = {'foo':'bar'}; 
     $.ajax({ 
      'url': ajaxurl, 
      'data': data, 
      'method': "POST", 
      'dataType': "json", 
      'success': function(data) { 
       response(data); 
      } 
     }); 
    } 
}); 
+1

इस के लिए thx ... मेरा स्रोत खंड – PeterG

+0

में भी था धन्यवाद, मुझे यही चाहिए। यह विशेष रूप से उपयोगी होता है जब आप स्वत: पूर्ण इनपुट फ़ील्ड की विशेषता को अपने लक्ष्य लुकअप स्क्रिप्ट के पैरामीटर के रूप में पास करना चाहते हैं। –

+0

प्रश्नोत्तरी मूल्य वास्तव में 'request.term' में रहता है। कम से कम मैं हर समय इसका इस्तेमाल करता हूं। – silkfire