GORAGOD.com

freelance, web developer, web designer, hosting, domain name

จะอ้างอิง element ที่เกิดขึ้นจากการดึงข้อมูลของ ajax ยังไงครับ

คือผมทำเป็น select box ไว้ให้เลือก category ของสินค้าน่ะครับ พอเลือก category แล้ว มันจะแสดง select box อีก 1 ชุด ซึ่งจะมีจำนวนและข้อมูลที่ไม่เหมือนกัน บางชุดก็มี 3 select box บางชุดก็มี 4 select box(เพราะรายละเอียดของสินค้าแต่ละตัวไม่เหมือนกัน)   ซึ่ง select box ที่เอาไว้ search นี้มันเกิดขึ้นจาก category ไปดึงข้อมูลอีกหน้ามาครับ(ajax)

ทีนี้ผมอยากจะทำให้เวลาเลือก select box ที่เอาไว้ search แล้วให้มันฟิวเตอร์ข้อมูลออกมาแสดงเลยแบบไม่ต้องกด submit อะครับ (ก็ต้องใช้ ajax อีก)

แต่ปัญหาที่เกิดขึ้นคือ page มันไม่รู้จัก element ที่ถูกเพิ่มเข้าไปใหม่จากการดึงข้อมูล ajax อะครับ ทำให้ผมอ้างอิง select box ตัวที่จะเอาไว้ search ไม่ได้ คือจะเอาไปเข้า even onchange แล้วให้มันไปดึงข้อมูลมาแสดงน่ะครับ ถ้าจะกำหนด element ที่เอาไว้ search ไว้ก่อนก็ไม่ได้เพราะแต่ละชนิดของสินค้าก็มีการค้นหาที่ไม่เหมือนกันมันเลยต้องดึงข้อมูลจากอีกหน้ามายังไงครับ (แต่ถ้าไม่ทำเป็น ajax ก็ไม่มีปัญหานะครับ เพราะมัน reload page เสร็จก็เห็น element แล้ว)

ช่วยตอบหน่อยนะครับ ปวดหัวมาก
12 มิ.ย. 2552 4 3,214

ดู ตำบล อำเภอ จังหวัด ด้วย AJAX ครับ
#1

มันไม่ได้อะครับ คือที่ผมทำ มันไม่มี element ของ select box ย่อยรออยู่ก่อน

อย่าง จังหวัด เราสามารถทำ select box ย่อยไว้ก่อนได้คือ ตำบล กับ อำเภอใช่รึเปล่าครับ แต่ของผมมันไม่สามารถรู้ได้ว่า สินค้าชนิดนั้นจะสามารถใช้อะไรมา search ได้บ้าง ผมเลยต้องใช้ ajax สร้างมาทั้ง <select> เลย ไม่ใช่เอา <option> ยัดเข้าไปใน select ที่เตรียมไว้อยู่แล้วอะครับ

คือถ้าเราสร้าง select รอไว้ก่อนแล้วเพิ่ม <option> เข้าไปมันก็ไม่มีปัญหาอะไรนะครับ เพราะตอนโหลดเพจเสร็จมันก็เห็น select box ครบหมดแล้ว(ถึงบางอันจะยังไม่มีข้อมูลก็เถอะ)

สรุปก็คือ เพจมันไม่รู้จักกับ <select> ที่เพิ่มเข้าไปทีหลังของ ajax อะครับ ถึงผมจะสั่งให้มันสร้าง element ตาม category นี้ตอน onload ไว้ก่อนแล้วก็เถอะ element แสดงออกมาให้เห็นก็จริง แต่พอกด view source แล้วมันไม่เห็นอะครับ อาจเป็นเป็นเพราะว่า element พวกนี้เกิดจากหน้า page อื่น ไม่ได้เกินจาก code html ภายในหน้านั้น รึเปล่าครับ

ไม่รู้จะอธิบายยังไงดี เคสนี้ผมก็เพิ่งเคยทำนี้แหละครับ อธิบายไม่ถูก T T ช่วยด้วยค๊าบบบบ
#2

ใช้ document.createElement() ในการสร้าง element แต่ละตัวด้วย Javascript ครับ แล้วก็กำหนด id และ name ให้มันด้วย

ลองดูเกี่ยวกับ การสร้างตาราง ด้วย Javascript ครับ
#3

โอ้ววว ชักมองเห็นแสงสว่างแล้ว จะลองเอาไปทำดูครับ ได้ผลยังไงเดี๋ยวมาบอก ขอบคุณมากครับ
#4
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^