jQuery Multiple ID selectors


121

นี่คือตัวอย่างของการเริ่มต้นรหัสของฉัน:

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


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

จะได้ผลคุณอาจต้องเว้นวรรคหลังเครื่องหมายจุลภาค

นอกจากนี้ฟังก์ชันที่คุณเรียกใช้ในภายหลังจะต้องรองรับอาร์เรย์ของอ็อบเจ็กต์ไม่ใช่แค่อ็อบเจกต์เดี่ยว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.