2009-02-27 19 views
7

मैं किसी पृष्ठ पर छवियों के लिए एक साधारण रोलओवर टूलटिप लागू करने की कोशिश कर रहा हूं, जहां आप एक छवि को रोल करते हैं, आपको थोड़ा टूलटिप विंडो मिलती है और सामग्री को AJAX के माध्यम से डेटाबेस से लोड किया जाता है।jQuery टूलटिप + AJAX सामग्री

मैं इसे एक साथ जल्दी से हैक कर सकता हूं लेकिन मैं किसी भी इनलाइन जेएस का उपयोग किए बिना ऐसा करने का एक शानदार तरीका चाहता था।

तो मेरा सवाल है: यदि मैं अपनी बाहरी .js फ़ाइल के अंदर रोलओवर ईवेंट कैप्चर करता हूं, तो मैं इसे डेटाबेस आईडी कैसे पास करूं?

मैं jQuery का उपयोग कर रहा तो मैं कुछ इस तरह करना होगा:

$('.item_roll').mouseover(function() { 
    //show tooltip and load ajax content 
} 

और मेरे एचटीएमएल कुछ इस तरह होगा:

<img src="thumb.png" class="item_roll" /> 

img टैग, कैसे से एक समारोह बुला बिना क्या मैं डेटाबेस आईडी के ऊपर जेएस कॉल भेजता हूं? मुझे उम्मीद है कि इसका कोई अर्थ है।

धन्यवाद।

उत्तर

7

मैं दोनों एक वर्ग और छवि टैग में एक आईडी होने की सिफारिश:

<img src="thumb.png" id="id_28436379" class="item_roll" /> 
फिर अपने jQuery घटना में

, तो आप ऐसा तरह पहुँच सकते हैं:

$(".item_roll").mouseover(function(event){ 
    alert(event.target.id.split("_")[1]); // displays 28436379 
}); 

यह आपको पहुँच देना चाहिए इसे छवि टैग की आईडी बनाकर डेटाबेस आईडी।

संपादित करें: कुछ उपयोगी टिप्पणियां पढ़ने के बाद, मैंने अपना जवाब बदल दिया है ताकि आईडी पूर्णांक से शुरू न हो, क्योंकि यह गैर-मानक है और शायद सभी ब्राउज़रों में काम नहीं कर सकता है। जैसा कि आप देख सकते हैं, विभाजन/[] कोड आईडी स्ट्रिंग से आईडी नंबर निकालता है।

+0

सही! मैंने ऐसा क्यों नहीं सोचा? :) धन्यवाद। – givp

+1

एक तरफ के रूप में, आपको शायद $ ("img.item_roll") करना चाहिए ... – cletus

+0

अच्छी टिप, क्लेटस। धन्यवाद – givp