[javascript] jQuery Multiple ID selectors

Here's a snippet of the start of my code:

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

Basically what I'm trying to do is make the same call with a few different ID's...

I would have assumed this would work but it doesn't:

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

Any ideas?

This question is related to javascript jquery

The answer is


If you give each of these instances a class you can use

$('.yourClass').upload()

That should work, you may need a space after the commas.

Also, the function you call afterwards must support an array of objects, and not just a singleton object.


You can use multiple id's the way you wrote:

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

However, that doesn't mean that those ids exist within the DOM when you've executed your code. It also doesn't mean that upload is a legitimate function. It also doesn't mean that upload has been built in a way that allows for multiple elements in a selection.

upload is a custom jQuery plugin, so you'll have to show what's going on with upload for us to be able to help you.


Make sure upload plugin implements this.each in it so that it will execute the logic for all the matching elements. It should ideally work

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

it should. Typically that's how you do multiple selectors. Otherwise it may not like you trying to assign the return values of three uploads to the same var.

I would suggest using .each or maybe push the returns to an array rather than assigning them to that value.