jQuery के एकाधिक आईडी चयनकर्ताओं


120

यहाँ मेरे कोड की शुरुआत का एक स्निपेट है:

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

मूल रूप से मैं जो करने की कोशिश कर रहा हूं, वही कॉल कुछ अलग आईडी के साथ है

मुझे लगता है कि यह काम करेगा, लेकिन यह नहीं है:

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

कोई विचार?


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

यह काम करना चाहिए, uploadफ़ंक्शन के साथ कुछ होना चाहिए । jsfiddle.net/X7TAX
Kokos

जवाबों:


230

इसे इस्तेमाल करे:

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

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

39

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

$('.yourClass').upload()

19

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

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

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

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


9

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

$("#upload_link,#upload_link2,#upload_link3").upload(function(){ });

4

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

मैं सुझाव देता हूं कि .eachसंभवत: उन्हें उस मूल्य पर असाइन करने के बजाय किसी सरणी में रिटर्न को धक्का देना या उपयोग करना चाहिए।


0

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.