2010-12-07 10 views
6
$(document).ready(function() { 
      $(".po").click(function(){ 
       var po = $(this).text(); 
       var dataString = 'po='+ po; 

       $.ajax 
        ({ 
        type: "GET", 
        url: "projectitems.php", 
        data: dataString, 
        cache: false, 
        success: function(html) 
         { 


$(this).closest(".resultsItems").html(html); 
         } 
        }); 
      });   
     }); 

लाइन $(this).closest(".resultsItems").html(html); लाइन वास्तव में क्या है (यह) इसका जिक्र है? मैं लौटाए गए AJAX परिणाम को <td> में शामिल करने की कोशिश कर रहा हूं जिसे .resultsItems कहा जाता है लेकिन केवल अंतर्निहित क्लिक किए गए चयनकर्ता के नीचे एक ही है? क्या यह संभव है?

बस इसे स्पष्ट करने के लिए मैं नहीं पूछ रहा हूं कि (यह) jQuery में क्या है, मैं पूछ रहा हूं कि यह (ऊपर) मेरे कोड में क्या संदर्भ दे रहा है!

+0

नहीं वाकई डुप्लिकेट के पास भेजेगा का उपयोग क्या मेरा (यह) मेरे कोड – benhowdle89

+2

में संदर्भित कर रहा है त्वरित युक्ति: यदि आपको कोड के उस ब्लॉक में विशिष्ट "" यह "संदर्भित करने की आवश्यकता है, तो आप उचित संदर्भ में इस तरह कुछ जोड़ सकते हैं:' var t = this; 'आपके फ़ंक्शन कॉल में आगे, आप '$ (इस)' के बजाय '$ (टी)' का उपयोग कर सकते हैं। –

+2

@meder - यह एक डुप्लिकेट नहीं है, मेरा जवाब देखें। –

उत्तर

9

this$.ajax() सेटिंग ऑब्जेक्ट को संदर्भित करता है। आप क्या चाहते हैं पाने के लिए आपको context विकल्प इस तरह का उपयोग करके this बनाए रखने के लिए की आवश्यकता होगी:

$.ajax({ 
    context: this, 
    type: "GET", 
    url: "projectitems.php", 
    data: dataString, 
    cache: false, 
    success: function(html) { 
    $(this).closest(".resultsItems").html(html); 
    } 
}); 
+3

बह, वह नाराज नारंगी बार जैसा कि मैं अपना जवाब लपेट रहा हूं। –

+0

धन्यवाद! यह उन सभी लोगों के लिए एक डुप्लिकेट नहीं है जिन्होंने इसे ठीक से पढ़ने के बजाय मेरे प्रश्न "स्कैन" किए हैं – benhowdle89

3

jQuery साइट से:

उन सभी के लिए this वस्तु context संपत्ति सेटिंग्स में $.ajax के लिए पारित में वस्तु हो जाएगा; यदि निर्दिष्ट नहीं किया गया था तो यह अजाक्स सेटिंग्स स्वयं के संदर्भ में होगा।

+0

मैंने jQuery साइट पर इस (पन इरादा) की तलाश की। यह उद्धरण कहां स्थित है? – Hogan

+0

@ होगन: यह यहां है http://api.jquery.com/jQuery.ajax/ - कॉलबैक फ़ंक्शन पैराग्राफ। –

+0

@ होगन Google वाक्यांश के भाग के लिए उद्धृत स्ट्रिंग के रूप में, और आप [jQuery.ajax() दस्तावेज़] (http://api.jquery.com/jQuery.ajax/) पर उतरेंगे। – Phrogz

0

आप here

मूल रूप से this कीवर्ड के बारे में विस्तार से पढ़ सकते हैं, आपके मामले में यह को संदर्भित करता है विंडो ऑब्जेक्ट क्योंकि यह विंडो ऑब्जेक्ट है जिसने आपके AJAX कॉल पर success ईवेंट ट्रिगर किया है। आप हालांकि ऐसा करने से सिर्फ ajax कॉल ऊपर $(".po") के दायरे पर कब्जा कर सकते हैं: तो फिर

var that = this; 

अगर आप that.closest()... के रूप में मैं पूछ रहा हूँ कि $(".po") वस्तु

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