jQuery Кілька селекторів ідентифікаторів


120

Ось фрагмент початку мого коду:

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

В основному, я намагаюся зробити той самий дзвінок з кількома різними ідентифікаторами ...

Я би припустив, що це буде працювати, але це не так:

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

Будь-які ідеї?


Який плагін для завантаження ви використовуєте? Ви впевнені, що він відповідає рекомендованій схемі розробки плагінів?
bfavaretto

Це має працювати, повинно бути щось із uploadфункцією. jsfiddle.net/X7TAX
Кокос

Відповіді:


230

Спробуйте це:

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

3
Ця відповідь, безумовно, спрацює, але в ідеалі будь-яка логіка плагіна повинна застосовуватися до всіх відповідних елементів.
ShankarSangoli

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 та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.