การส่งค่า get จาก hidden text ไปใช้ใน dropdownlist
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา การส่งค่า get จาก hidden text ไปใช้ใน dropdownlist
การส่งค่า get จาก hidden text ไปใช้ใน dropdownlist
Copy
จากรูปคือ พิมพ์ชื่อบริษัท แบบ 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
08-08-2014
14:38:15
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ