jQuery 다중 ID 선택기


120

다음은 내 코드의 시작 부분입니다.

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

기본적으로 내가하려는 것은 몇 가지 다른 ID로 동일한 전화를 거는 것입니다.

나는 이것이 효과가 있다고 가정했지만 그렇지 않습니다.

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
이 답변은 확실히 작동하지만 이상적으로는 모든 플러그인 논리가 일치하는 모든 요소에 적용되어야합니다.
ShankarSangoli

39

이러한 각 인스턴스에 클래스를 제공하면 사용할 수 있습니다.

$('.yourClass').upload()

19

작성한 방식대로 여러 개 사용할 수 있습니다id .

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

그러나 이것이 코드를 실행했을 때 해당 ID가 DOM 내에 존재한다는 것을 의미하지는 않습니다. 또한 그것이 upload합법적 인 기능 임을 의미하지는 않습니다 . 또한 upload선택 항목에서 여러 요소를 허용하는 방식으로 구축되었음을 의미하지 않습니다 .

upload은 사용자 지정 jQuery 플러그인이므로 upload우리가 도움을 드릴 수 있도록 진행 상황을 보여 주셔야합니다.


9

upload플러그인 this.each이 모든 일치 요소에 대한 로직을 실행하도록 구현 하는지 확인하십시오 . 이상적으로 작동해야합니다.

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

4

그래야합니다. 일반적으로 여러 선택기를 수행하는 방법입니다. 그렇지 않으면 동일한 변수에 세 번의 업로드의 반환 값을 할당하려는 것이 마음에 들지 않을 수 있습니다.

.each반환 값을 해당 값에 할당하는 대신 사용 하거나 배열에 푸시하는 것이 좋습니다 .


0

작동합니다. 쉼표 뒤에 공백이 필요할 수 있습니다.

또한 나중에 호출하는 함수는 단일 객체가 아닌 객체 배열을 지원해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.