jQuery複数IDセレクター


120

ここに私のコードの開始のスニペットがあります:

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

基本的に私がやろうとしていることは、いくつかの異なるIDで同じ呼び出しを行うことです...

私はこれがうまくいくと思いましたが、それはしません:

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

何か案は?


使用しているアップロードプラグインは何ですか?推奨されるプラグイン開発パターンに従っていますか?
bfavaretto 2011

upload機能するはずですが、機能を備えたものでなければなりません。jsfiddle.net/X7TAX
ココス

回答:


230

これを試して:

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

3
この答えは間違いなく機能しますが、理想的には、すべてのプラグインロジックが一致するすべての要素に適用される必要があります。
ShankarSangoli、2011


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

そうすべき。通常、これが複数のセレクターの実行方法です。そうしないと、3つのアップロードの戻り値を同じ変数に割り当てようとしない場合があります。

.each戻り値をその値に割り当てるのではなく、使用するか、場合によっては配列にプッシュすることをお勧めします。


0

うまくいくはずです。コンマの後にスペースが必要な場合があります。

また、後で呼び出す関数は、シングルトンオブジェクトだけでなく、オブジェクトの配列をサポートする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.