ทำยังไงให้ auto complete ส่งค่ากลับมาได้หลาย ๆ ฟิลล์ อะครับ ตามตัวอย่างที่เว็บนี้แหละครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ทำยังไงให้ auto complete ส่งค่ากลับมาได้หลาย ๆ ฟิลล์ อะครับ ตามตัวอย่างที่เว็บนี้แหละครับ

ทำยังไงให้ auto complete ส่งค่ากลับมาได้หลาย ๆ ฟิลล์ อะครับ ตามตัวอย่างที่เว็บนี้แหละครับ

ตามกระทู้นี้อะครับ https://www.ninenik.com/content.php?arti_id=209 คือต้องการให้เอาฟิลล์ อื่น ๆที่อยู่ในตารางมาแสดงด้วยอะครับ



Addy 21-10-2011 11:58:18

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

 ก็ใช้  select * ไงครับ เลือกทุกฟิลล์

จะให้เแสดงฟิลล์ไหน ก็สั่ง echo ฟิลล์นั้นๆ  เช่น $res['id'];  $res['name']; $res['lastname'];    บลาๆๆๆ



skylab 30-10-2011 10:06
 ความคิดเห็นที่ 2

มีท่านอื่นอีกไหมครับ...แบบนี้ไม่ได้ครับ หรือ ท่าน Skylab จะเพิ่มอีกครับ หรือทำให้ดูแบบเต็ม ๆ หน่อยก้ดีครับ



addy 07-11-2011 14:16
 ความคิดเห็นที่ 3

 https://www.ninenik.com/content.php?arti_id=209

ในไฟล์ gdata.php Code 

บรรทัด 

1
echo "<li onselect="this.setText('$name').setValue('$id');">$display_name</li>";

เราสามารถเพิ่มฟังก์ชั่น เข้าไปเพิ่มก็ได้ หรือจะต่อจากตัวเดิมก็ได้ ตัวอย่าง การเพิ่มฟังก์ชั่นเพิ่ม

เราจะเพิ่มฟังก์ชัน myfunction เข้าไป จะได้เป็น

1
echo "<li onselect="this.setText('$name').setValue('$id').myfunction('$data1','$data2','$data3');">$display_name</li>";

$data1 $data2 และ $data3 คือค่าที่เราจะส่งกลับมา

 

จากนั้นให้ไปเพิ่มฟังก์ชัน ในส่วนของ Javascript Code

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script type="text/javascript">
function make_autocom(autoObj,showObj){
    var mkAutoObj=autoObj;
    var mkSerValObj=showObj;
    new Autocomplete(mkAutoObj, function() {
        this.setValue = function(id) {     
            document.getElementById(mkSerValObj).value = id;
        }
        if ( this.isModified )
            this.setValue("");
        if ( this.value.length < 1 && this.isNotClick )
            return ;   
        return "gdata.php?q=" +encodeURIComponent(this.value);
    });
}  
  
// การใช้งาน
// make_autocom(" id ของ input ตัวที่ต้องการกำหนด "," id ของ input ตัวที่ต้องการรับค่า");
make_autocom("show_arti_topic","h_arti_id");
</script>

 

ตัวอย่างการเพิ่มฟังก์ชัน

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script type="text/javascript">
function make_autocom(autoObj,showObj){
    var mkAutoObj=autoObj;
    var mkSerValObj=showObj;
    new Autocomplete(mkAutoObj, function() {
        this.setValue = function(id) {     
            document.getElementById(mkSerValObj).value = id;
        }
        this.myfunction = function(data1,data2,data3){ // ที่เพิ่มเข้ามา
            alert(data1+"  "+data2+" "+data3);  // ที่เพิ่มเข้ามา
        // ที่เพิ่มเข้ามา
        if ( this.isModified )
            this.setValue("");
        if ( this.value.length < 1 && this.isNotClick )
            return ;   
        return "gdata.php?q=" +encodeURIComponent(this.value);
    });
}  
  
// การใช้งาน
// make_autocom(" id ของ input ตัวที่ต้องการกำหนด "," id ของ input ตัวที่ต้องการรับค่า");
make_autocom("show_arti_topic","h_arti_id");
</script>

 

 

 

 



ninenik 07-11-2011
 ความคิดเห็นที่ 4

ไม่รู้โค้ดที่เพิ่มเติมมาได้ทดสอบหรือยังครับ ผมลองทำแล้วไม่ได้อะครับ แล้วตรง textbox ที่เราจะให้แสดงค่าต้องทำยังไงครับ



addy 07-11-2011 15:26
 ความคิดเห็นที่ 5

 ถ้าไม่ได้ลองเปลี่ยนจาก

1
echo "<li onselect="this.setText('$name').setValue('$id').myfunction('$data1','$data2','$data3');">$display_name</li>";

 

เป้น

1
echo "<li onselect="this.setText('$name').setValue('$id');this.myfunction('$data1','$data2','$data3');">$display_name</li>";

 



Ninenik Narkdee 08-11-2011
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ