ทำยังไงให้ 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 

บรรทัด 

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

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

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

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

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

 

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

 

<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>

 

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

<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

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

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

 

เป้น

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) ขอบคุณครับ