การส่งค่า get จาก hidden text ไปใช้ใน dropdownlist

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา การส่งค่า get จาก hidden text ไปใช้ใน dropdownlist

การส่งค่า get จาก hidden text ไปใช้ใน dropdownlist

จากรูปคือ พิมพ์ชื่อบริษัท แบบ autocomplete   แล้วจะมีข้อมูลชื่อบริษัท และ cid อยู่ด้านข้าง
แล้วอยากให้ cid ตัวนี้ ไปมีผลกับ dropdownlist ผู้ติดต่อด้านล่าง ซึ่งบริษัทนึงมีผู้ติดต่อหลายคน แล้วแต่เค้าจะเลือก 


หน้าAdd.php
<script language="JavaScript" type="text/javascript">
function list(tagNext, val, txtCon) {  
	var cid = $("#cid").val();
    $.getJSON('searchContactCus.php', {'name':txtCon,'value':val,'cid':cid}, function(data) {
        var select = $(tagNext);
        var options = select.attr('options');
        $('option', select).remove();
           $(select).append('<option value=""> - เลือกผู้ติดต่อ - </option>');
        $.each(data, function(index, array) {
			//alert(array[0]);
                $(select).css("display","inline");
				var data = array[0].split('|');
                $(select).append('<option value="'+ array[0] +'">' + data[1]+','+ data[2]+ '</option>');
        });
    });
}
</script>


<form id="form1" action="save.php" name="form1" method="POST" onSubmit="JavaScript:return fncSubmit();" >

<table width="100%">


<tr>
<td width="15%">บริษัท</td>
<td width="35">
<input name="cname" type="text" id="cname" size="50" class="form-control"/>
  <input name="cid" type="text" id="cid" onChange="list('#Contact',this.value,'cid')"/>


	</td>

</tr>

<tr>
<td>ผู้ติดต่อ</td>
<td>  <select name="Contact" id="Contact"  class="form-control"></select>
 
   

	<input name="id_contact" type="hidden" id="id_contact" />
	
	<input name="purName" type="hidden" id="purName" /></td></tr>
</table>
</form>
<!-----เรียกใช้ autocomplete------->
<script type="text/javascript">
function make_autocom(autoObj,showObj,showObj2){
	var mkAutoObj=autoObj; 
	var mkSerValObj=showObj; 
	var mkSerValObj2=showObj2; 
	new Autocomplete(mkAutoObj, function() {
		this.setValue = function(id,caddress) {		
			document.getElementById(mkSerValObj).value = id;
			document.getElementById(mkSerValObj2).value = caddress;
		}
		if ( this.isModified )
			this.setValue("");
		if ( this.value.length < 1 && this.isNotClick ) 
			return ;	
		return "autocomplete/autocomplete2.php?q=" +encodeURIComponent(this.value);
    });	
}	
 
// การใช้งาน
// make_autocom(" id ของ input ตัวที่ต้องการกำหนด "," id ของ input ตัวที่ต้องการรับค่า");
make_autocom("cname","cid","caddress");
</script>


หน้า autocomplete2.php

@header("Content-type:text/html; charset=UTF-8");        
@header("Cache-Control: no-store, no-cache, must-revalidate");       
@header("Cache-Control: post-check=0, pre-check=0", false);       
// เชื่อมต่อฐานข้อมูล
include('../Connections/conndb.php');
 
$q = urldecode($_GET["q"]);
$pagesize = 50; // จำนวนรายการที่ต้องการแสดง
$table_db="customer"; // ตารางที่ต้องการค้นหา
$find_field="cname"; // ฟิลที่ต้องการค้นหา
$sql = "SELECT * FROM $table_db  where locate('$q', $find_field) > 0 order by locate('$q', $find_field), $find_field limit $pagesize";
$results = mysql_query($sql);
while ($row = mysql_fetch_array( $results )) {
	$id = $row["cid"]; // ฟิลที่ต้องการส่งค่ากลับ
	$caddress = $row["caddress"]; // ฟิลที่ต้องการส่งค่ากลับ
	$name = ucwords( strtolower( $row["cname"] ) ); // ฟิลที่ต้องการแสดงค่า
	// ป้องกันเครื่องหมาย '
	$name = str_replace("'", "'", $name);
	// กำหนดตัวหนาให้กับคำที่มีการพิมพ์
	$display_name = preg_replace("/(" . $q . ")/i", "<b>$1</b>", $name);
	echo "<li onselect="this.setText('$name').setValue('$id','$caddress');">$display_name</li>";
}
mysql_close();
หน้า searchContactCus.php
include('Connections/conndb.php'); 

$param = $_GET["term"];

$data = array();
$id = $_GET['value'];
$nameType = $_GET['name'];
if($nameType == 'cid') {
	if($id!=""){
		
		$query_subType = "SELECT DISTINCT id_contact,purName
FROM contactcus, customer
WHERE contactcus.cusID = customer.cid
AND contactcus.cusID =$id";
		$subType = mysql_query($query_subType) or die(mysql_error());		
		$totalRows_subType = mysql_num_rows($subType);
		if($totalRows_subType>0){
			while($row_subType = mysql_fetch_array($subType)){
				$data[] = array($row_subType["id_contact"].'|'.$row_subType["purName"]);
				
			}
		}
	}
	
}

echo json_encode($data);

flush();

ค่า cid ส่งไป มันไม่ขึ้นให้ค่ะ

 



Saranya2532 223.204.255.xxx 08-08-2014 14:38:15

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

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


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


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







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