2011-08-16 13 views
86

यहाँ मेरी कोड की शुरुआत का एक टुकड़ा है:jQuery एकाधिक आईडी चयनकर्ताओं

var myUpload = $("#upload_link").upload({bla bla bla 

असल में मुझे क्या करना कुछ अलग आईडी के साथ एक ही फोन करना है ...

मैं कोशिश कर रहा हूँ यह माना होगा कि यह काम करेगा लेकिन यह नहीं है:

var myUpload = $("#upload_link,#upload_link2,#upload_link3").upload({ 

कोई विचार?

+0

अपलोड प्लगइन आप क्या उपयोग कर रहे हैं? क्या आप वाकई अनुशंसित प्लगइन विकास पैटर्न का पालन करते हैं? – bfavaretto

+0

इसे काम करना चाहिए, 'अपलोड' फ़ंक्शन के साथ कुछ होना चाहिए। http://jsfiddle.net/X7TAX/ – Kokos

उत्तर

174

इस प्रयास करें कर सकते हैं:

$("#upload_link,#upload_link2,#upload_link3").each(function(){ 
    $(this).upload({ 
     //whateveryouwant 
    }); 
}); 
+2

यह उत्तर निश्चित रूप से काम करेगा लेकिन आदर्श रूप से किसी भी प्लगइन तर्क को सभी मिलान किए गए तत्वों पर लागू होना चाहिए। – ShankarSangoli

31

क्या आप इन उदाहरणों में से प्रत्येक के एक वर्ग देते हैं का उपयोग

$('.yourClass').upload() 
4

यह होना चाहिए। आम तौर पर आप कई चयनकर्ताओं को कैसे करते हैं। अन्यथा यह संभव नहीं है कि आप एक ही var पर तीन अपलोड के रिटर्न मान असाइन करने का प्रयास करें।

मैं .each का उपयोग करने का सुझाव दूंगा या शायद उस मान को आवंटित करने के बजाय रिटर्न को सरणी में धक्का दे सकता हूं।

0

यह काम करना चाहिए, आपको अल्पविराम के बाद एक जगह की आवश्यकता हो सकती है।

इसके अलावा, जिस फ़ंक्शन को आप बाद में कॉल करते हैं उसे ऑब्जेक्ट्स की एक सरणी का समर्थन करना चाहिए, न केवल एक सिंगलटन ऑब्जेक्ट।

14

आप उपयोग कई id की जिस तरह से कर सकते हैं आप ने लिखा है:

$('#upload_link, #upload_link2, #upload_link3') 

हालांकि, इसका मतलब यह नहीं है कि उन लोगों के आईडी डोम के भीतर मौजूद है जब आप अपने कोड निष्पादित कर दिया है। इसका मतलब यह भी नहीं है कि upload एक वैध कार्य है। इसका मतलब यह भी नहीं है कि upload इस तरह से बनाया गया है जो चयन में एकाधिक तत्वों की अनुमति देता है।

upload एक कस्टम jQuery प्लगइन है, इसलिए आपको यह दिखाने के लिए कि upload के साथ क्या चल रहा है, हमें आपकी सहायता करने में सक्षम होना होगा।

8

सुनिश्चित करें कि upload प्लगइन this.each लागू करता है ताकि यह सभी मिलान करने वाले तत्वों के लिए तर्क निष्पादित करेगा। यह आदर्श रूप से

$("#upload_link,#upload_link2,#upload_link3").upload(function(){ }); 
संबंधित मुद्दे