Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > การดึงค่าจาก autocomplete มาใส่ textbox และดึงค่าไปใช้กับ dropdownlist อีกอันได้ด้วย



 

การดึงค่าจาก autocomplete มาใส่ textbox และดึงค่าไปใช้กับ dropdownlist อีกอันได้ด้วย

 



Topic : 110396



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



สอบถามค่ะ ถ้าต้องการดึงค่าอื่นจาก autocomplete นอกจากค่า id,name แล้วอยากได้ค่า address ที่อยู่ในตารางเดียวกัน มาไว้ใน textbox อีกอัน ต้องทำยังไงค่ะ
จาก บทความ

http://www.ninenik.com/%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8%9F%E0%B8%B1%E0%B8%87%E0%B8%81%E0%B9%8C%E0%B8%8A%E0%B8%B1%E0%B8%99_autocomplete_%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%87%E0%B9%88%E0%B8%B2%E0%B8%A2_%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2_ajax-209.html

แล้วถ้า <input name="h_arti_id" type="hidden" id="h_arti_id" value="" /> แล้ว อยากได้ id จากตรงนี้ไปใช้กับ dropdownlist ด้านล่างค่ะ

<select name="Contact" id="Contact">
<option value="" selected>- เลือก -</option>
<?php
$query_q = "SELECT * FROM contact where cid=$id "; --> id ที่มาจาก autocomplete ด้านบน
$q = mysql_query($query_q) or die(mysql_error());
while($row_q = mysql_fetch_array($q)){
$conid = $row_q["conid"];
$conname = $row_q["conname"];

echo"<option value='$conid'>$conname</option>";
};
?>
</select>



Tag : PHP, MySQL, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-04 09:08:34 By : bsaranya View : 3423 Reply : 7
 

 

No. 1



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


Code (PHP)
	<?PHP
        mysql_connect("localhost","root","123456") or die("Connection Failed"); 
        mysql_select_db("ims_db")or die("Connection Failed"); 
    ?>
    Division :
	<select id="sedivid" name="sedivid">
    	<option value="">Please Select</option>
        <?PHP
        	$select=mysql_query("SELECT * FROM ims_div") or die (mysql_error());
			while($div=mysql_fetch_array($select)){
		?>
        
        	<option value="<?=$div['divid']?>"><?=$div['division']?></option>
        <?PHP } ?>
    </select>
    <br />
    Department:
    <s id="sdept"><select></select></s>
    
<script src="jQuery.1.10.js"></script>
<script>
	$(function(){
		$('#sedivid').on('change',function(){
			var divid=$(this).val();
			var sedept=$('<select id="sedeptid" name="sedeptid">');
			$('#sedeptid').val('');
			$.ajax({url:"check.php",
				async:false,
				cache:false,
				global:false,
				type:"POST",
				data:"divid="+divid,
				success: function(result){
					var obj=jQuery.parseJSON(result);
					$.each(obj,function(key,val){
						sedept.append("<option value='"+val['deptid']+"'>"+val['department']);
					});
					$('#sdept').html(sedept);	
				}
			});
		});	
	});
</script>

check.php
Code (PHP)
<?PHP
       mysql_connect("localhost","root","123456") or die("Connection Failed"); 
       mysql_select_db("ims_db")or die("Connection Failed"); 
	$divid=mysql_real_escape_string($_POST['divid']);
	$arrResult=array();
	$select=mysql_query("SELECT * FROM ims_dept WHERE divid='".$divid."'") or die (mysql_error());
	$numFields=mysql_num_fields($select);
	while($dept=mysql_fetch_array($select)){
		$arrCol=array();
		for($i=0;$i<$numFields;$i++){
			$arrCol[mysql_field_name($select,$i)]=$dept[$i];	
		}
		array_push($arrResult,$arrCol);
	}
	echo json_encode($arrResult);	
   ?>

example ลองดูครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 09:33:28 By : Ex-[S]i[L]e[N]t
 


 

No. 2



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอบคุณค่ะ

แล้วถ้าอยากให้
<input name="cid" type="text" id="cid" onchange="list('#Contact',this.value,'cid')" />

<select name="Contact" id="Contact" class="form-control"></select>
โดยใช้
<script language="JavaScript" type="text/javascript">
function list(tagNext, val, txtCon) {
$.getJSON('searchContactCus.php', {name:txtCon,value:val}, function(data) {
var select = $(tagNext);
var options = select.attr('options');
$('option', select).remove();
$(select).append('<option value=""> - เลือกผู้ติดต่อ - </option>');
$.each(data, function(index, array) {

$(select).css("display","inline");
var data = array[0].split('|');

$(select).append('<option value="'+ array[0] +'">' + data[1]+','+ data[2]+ '</option>');

});
});
}
</script>



โค้ด หน้า searchContactCus.php
<?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 caddress, id_contact,purName,purPosition,purTel
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"].'|'.$row_subType["purPosition"].'|'.$row_subType["purTel"]);

}
}
}

}

echo json_encode($data);

flush();

?>


แบบนี้ได้ไม๊ค่ะ แต่ค่าไม่มาให้อ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 14:13:26 By : bsaranya
 

 

No. 3



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

แล้วถ้าเป็นโค้ดแบบของพี่ด้านบน

<input name="cid" type="text" id="cid" />

Code (PHP)
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
 
<script>
 
$(document).ready(function(){
 
    $("#cid").change(function(){
			var cid=$(this).val();
			var sePur=$('<select id="sePurid" name="sePurid">');
			$('#sePurid').val('');
			$.ajax({url:"check.php",
				async:false,
				cache:false,
				global:false,
				type:"POST",
				data:"cid="+cid,
				success: function(result){
					var obj=jQuery.parseJSON(result);
					$.each(obj,function(key,val){
					sePur.append("<option value='"+val['id_contact']+"'>"+val['purName']);
					});
					$('#Contact').html(sePur);	
				}
			});
		});	
	});
</script>


แต่มันไม่ขึ้น dropdownlist ให้เลือกอ่ะค่ะ

<s id="Contact"><select></select></s>


หน้าโค้ด check.php

Code (PHP)
<?PHP
        require_once('Connections/conndb.php');
	$cid=mysql_real_escape_string($_POST['cid']);
	$arrResult=array();
	$select=mysql_query("SELECT * FROM contactcus WHERE cusID='".$cid."'") or die (mysql_error());
	echo $select;
	$numFields=mysql_num_fields($select);
	while($dept=mysql_fetch_array($select)){
		$arrCol=array();
		for($i=0;$i<$numFields;$i++){
			$arrCol[mysql_field_name($select,$i)]=$dept[$i];	
		}
		array_push($arrResult,$arrCol);
	}
	echo json_encode($arrResult);	
   ?>



ประวัติการแก้ไข
2014-08-04 16:06:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 16:03:12 By : bsaranya
 


 

No. 4



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ขอดู code พร้อมกับอธิบาย Process การทำงานอย่างชัดเจนหน่อยครับ เดี๋ยวกลับมาดูให้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 17:29:07 By : Ex-[S]i[L]e[N]t
 


 

No. 5



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

หน้า add.php

Code (PHP)


<!---autocomplete  -->		
<script type="text/javascript" src="autocomplete/autocomplete.js"></script>
<link rel="stylesheet" href="autocomplete/autocomplete.css"  type="text/css"/>

<script  type="text/javascript" src="autocomplete/js/jquery-1.6.1.min.js"></script>
<script  type="text/javascript" src="autocomplete/js/jquery-ui-1.8.14.custom.min.js"></script>

<script language="JavaScript" type="text/javascript">
function list(tagNext, val, txtCon) {  
    $.getJSON('searchContactCus.php', {name:txtCon,value:val}, 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>
<script language="JavaScript">

	function resutContact(strContact)
	{
			form1.id_contact.value = strContact.split("|")[0];
			form1.purName.value = strContact.split("|")[1];
			form1.purPosition.value = strContact.split("|")[2];
			form1.purTel.value = strContact.split("|")[3];
			
			
	}
	</script>

<form id="form1" action="saveQT.php" name="form1" method="POST" onSubmit="JavaScript:return fncSubmit();" enctype="multipart/form-data" >

<table width="100%">

<tr>
<td colspan="4" align="center"><h2>ทำใบเสนอราคา</h2></td>
</tr>
<tr>
<td width="15%">บริษัท</td>
<td width="35">
<input name="cname" type="text" id="cname" size="50" class="form-control"/>
  <input name="cid" type="hidden" id="cid" onchange="list('#Contact',this.value,'cid')">
	</td>
<td width="15%">&nbsp;</td>
<td width="35%">&nbsp;</td>
</tr>
<tr>
<td width="100">ที่อยู่</td>
<td width="343">
<textarea name="caddress" id="caddress" cols="40" rows="5"></textarea></td>
<td width="343">&nbsp;</td>
<td width="343">&nbsp;</td>
</tr>
<tr>
<td>ผู้ติดต่อ</td>
<td>
    
<tr>
<td>ผู้ติดต่อ</td>
<td>
    <select name="Contact" id="Contact" onChange="resutContact(this.value);" class="form-control"></select>
	<input name="id_contact" type="hidden" id="id_contact" />
	<input name="purName" type="hidden" id="purName" /></td>
<td>ตำแหน่ง</td>
<td><input name="purPosition" type="text" id="purPosition" class="form-control" /></td>
</tr>
<tr>
<td>เบอร์โทรศัพท์</td>
<td>
<input name="purTel" type="text" id="purTel" class="form-control" /></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="4" align="center">
<input type="submit" name="save" id="save" value="เพิ่มข้อมูล" />
<input type="reset" name="btncancel" id="btncancel" value="ยกเลิก" />
 
</td>
</tr>

</table>



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

Code (PHP)
<?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

Code (PHP)
<?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,purPosition,purTel,purExt,purMobile,purEmail,techName,techPosition,techTel,techExt,appName,appPosition,appTel,appExt
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"].'|'.$row_subType["purPosition"].'|'.$row_subType["purTel"]);
				
			}
		}
	}
	
}

echo json_encode($data);

flush();

?>




คือเลือก บริษัท จากการเรียกใช้หน้า autocomplete2.php และมีการเก็บค่า cid เป็น hidden text (ซึ่งโค้ดตรงนี้ทำงานได้ปกติ) และต้องการที่จะใช้ cid ตัวนี้เพื่อ เลือก dropdownlist ผู้ติดต่อของแต่ละบริษัท ในหน้า searchContactCus.php และจะมีการนำค่าที่ได้มา split ออกใส่ในแต่ละ textbox ด้วยเช่น ชื่อ ตำแหน่ง เบอร์โทร ค่ะ


ประวัติการแก้ไข
2014-08-05 08:42:42
2014-08-05 08:44:07
2014-08-05 10:40:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 18:03:34 By : bsaranya
 


 

No. 6



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

พอช่วยได้ไม๊ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 12:04:16 By : bsaranya
 


 

No. 7



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขออธิบายง่ายๆนะคะ

จาก http://www.tutorialdev.com/php/jquery-selected-dropdown-list-with-php-mysql/
มันเป็นการเลือก dropdownlist อันแรก แล้วสามารถไปเลือก dropdownlist อันต่อไปได้
<select id="type" name="type" onchange="list('#subType',this.value,'type')">
แต่ที่อยากได้คือ มีค่าที่ต้องการส่ง มาจาก <input name="cid" type="hidden" id="cid" />
แล้วจะเปลี่ยน function list(tagNext, val, txtCon) {} ตรงนี้ยังไงค่ะ

Code (PHP)
<script language="JavaScript" type="text/javascript">
function list(tagNext, val, txtCon) {  
    $.getJSON('combobox.php', {name:txtCon,value:val}, function(data) {
        var select = $(tagNext);
        var options = select.attr('options');
        $('option', select).remove();
           $(select).append('<option value=""> - เลือก - </option>');
        $.each(data, function(index, array) {
                $(select).css("display","inline");
                 $(select).append('<option value="' + array[0] + '">' + array[1] + '</option>');
        });
    });
}
 
</script>


เพื่อให้ดึงค่า cid ไปใช้แทน <select id="type" name="type" onchange="list('#subType',this.value,'type')"> อ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-06 08:53:56 By : bsaranya
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การดึงค่าจาก autocomplete มาใส่ textbox และดึงค่าไปใช้กับ dropdownlist อีกอันได้ด้วย
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่