ถามเรื่อง autocomplete ของ textfield 2 ช่องหน่อยคร่า
คือว่า เรามี textfield 2 ช่องอ่ะ ช่องแรกรับค่า current position ช่องที่สองรับค่า destination
โดยที่แต่ละช่อง ก้อต้องทำ autocomplete เพื่อ filter ค่าเหมือนกัน สมมตินะคะ
ช่องแรก พิมว่า k มันก้อจะต้องขึ้นลิสสถานที่ที่ขึ้นต้นด้วย k สมมติเลือก kmutt
ช่องสอง พิมว่า b มันก้อจะต้องขึ้ลิสสถานที่ที่ขึ้นต้นด้วย b สมมติเลือก bangrak
แต่ปัญหาตอนนี้คือ เลือกค่าใน ช่องใดช่องหนึ่ง มันก้อจะไปปรากฏค่าในทั้งสองช่องของ textfield เรยอ่ะค่ะ
id ของ textfield ก้อคนละ อันแล้วนะคะ งงมากเรย
โดยที่แต่ละช่อง ก้อต้องทำ autocomplete เพื่อ filter ค่าเหมือนกัน สมมตินะคะ
ช่องแรก พิมว่า k มันก้อจะต้องขึ้นลิสสถานที่ที่ขึ้นต้นด้วย k สมมติเลือก kmutt
ช่องสอง พิมว่า b มันก้อจะต้องขึ้ลิสสถานที่ที่ขึ้นต้นด้วย b สมมติเลือก bangrak
แต่ปัญหาตอนนี้คือ เลือกค่าใน ช่องใดช่องหนึ่ง มันก้อจะไปปรากฏค่าในทั้งสองช่องของ textfield เรยอ่ะค่ะ
id ของ textfield ก้อคนละ อันแล้วนะคะ งงมากเรย
ปัญหาของกรณีนี้ก็คือ หารรับค่ากลับด้วยฟังก์ชั่นเดียวกัน ทำให้ผลลัพท์ของฟังก์ชั่นมันไม่รอกัน เนื่องจาก Ajax มันไม่รอการทำงานซึ่งกันและกันอยู่แล้ว ต่างคนต่างทำ ถ้ารับกลับด้วยฟังก์ั่นเดียวกัน ตอนรับ เราก็จะไม่รู้ว่าเป็นข้อมูลของอันไหน
การแก้ไข แบบแรกก็ใช้ class วิธีนี้เป็นวิธีที่ดีที่สุด หากต้องการใช้โค้ดซ้ำ เพราะ class จะทำหน้าที่ในการจำให้เราเองว่าจะใช้ element ไหนในการทำงาน
แบบที่ 2 ใช้การส่งค่ากลับเพื่อบอกว่าเป็นข้อมูลของตัวไหน พร้อมๆกับการส่งข้อมูลกลับ ซึ่งอาจส่งข้อมููลกลับได้หลายวิธี ลองหาอ่านวิธีบนเว็บดู
สิ่งที่ต้องทำให้ถูกต้องก็คือ id ของ element ต่างๆ ต้องคนละอันกัน ไม่ว่าจะเป็น id ของ input หรือว่า id ของส่วนแสดงผล