|
|
|
สอบถามเกี่ยวกับการใช้งาน Auto Fill หน่อยครับ ที่ต้องการการให้แสดงข้อมูลทันที่ โดยไม่ต้องรอให้ กดenter หรือเลือกข้อมูล |
|
|
|
|
|
|
|
รับค่าลง textbox ก็น่าจะ jquery onChange หรือ bind ผสม keyup change เมื่อ textbox มีการเปลี่ยน ก็ส่งค่าด้วย ajax post ไปคิวรี่ข้อมูลมาแสดง ส่งค่ากับมา json แล้วมาแยกค่า ใส่ฟอร์มที่่เตรียมไว้ ฯลฯ idea นะ เพราะ Code มันยาว โพสต์ให้ก็กลัวว่าจะเข้าใจไม่ตรงกัน เพราะ code มันมีทั้งฟอร์ม html โค้ด jquery โค้ดติดต่อตารางข้อมูล จริงๆขี้เกียจตัดย่อมาล่ะมันยาว
ถ้าว่างจะย่อแล้วอัพโหลดแล้วส่ง link ให้ทาง PM นะ
|
|
|
|
|
Date :
2016-04-30 16:38:18 |
By :
Kin-Kee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code เรา 2 คนใกล้เคียงกันมาก วนลูปเหมือนกัน เราใช้ .bind ตาม Code
$('#idStudent').bind('keyup change', function () {
var idStudent = $("input[name*='idStudent']").val();
if (idStudent.length <= 7) {
$("input[name*='idStudent']").focus();
$("input[name*='idStudent']").addClass('error-style');
return false;
} else {
$("input[name*='idStudent']").removeClass('error-style');
$.ajax({
url: "return_ids.php",
type: "POST",
data: 'ids=' + $("#idStudent").val(),
success: function (result) {
//console.log(result);
var obj = $.parseJSON(result);
//console.log(obj);
if (obj === "") {
//$("#idStudent").val('');
$("input[name*='nameStudent']").focus();
$("input[name*='nameStudent']").val('');
$("select[name*='nameDegree']").val('');
$("select[name*='nameFaculty']").val('');
$("#nameDevice").removeClass('error-style');
} else {
$("#nameDevice").addClass('error-style');
$("#room1").focus();
$.each(obj, function (key, inval) {
$("#idStudent").val(inval["idS"]);
$("input[name*='nameStudent']").val(inval["ns"]);
$("select[name*='nameDegree']").val(inval["idD"]);
$("select[name*='nameFaculty']").val(inval["idF"]);
});
}
}
});
}
});
ส่วนอันนี้เป็น Code ในส่วน return_ids.php
if($mysql->query(" SELECT * FROM [tb_student] WHERE [idStudent] like '".$_POST['ids']."'") > 0 ){
while($rs = $mysql->fetch()){
$result[]=array(
"idS"=>$rs['idStudent'],
"ns"=>$rs['nameStudent'],
"idD"=>$rs['idDegree'],
"idF"=>$rs['idFaculty'],
);
}
$mysql->close();
echo json_encode($result);
}else{
$result = '';
echo json_encode($result);
}
|
|
|
|
|
Date :
2016-05-01 09:18:50 |
By :
Kin-Kee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต่างกันตรงส่งค่ากลับมาใส่ฟอร์ม ลองเปลี่ยนการเลือก ว่าจะใช้ name หรือ id ของ text type input นั้นๆ ดู
|
|
|
|
|
Date :
2016-05-01 09:21:12 |
By :
Kin-Kee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยัง ตอบความคิดเห็นที่ : 3 เขียนโดย : Kin-Kee เมื่อวันที่ 2016-05-01 09:18:50
รายละเอียดของการตอบ ::
ยังไม่ได้เลยครับ
ผมลองแก้ดูแล้ว ไม่รู้ว่าแก้ถูกมั้ย
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.6.4.js"></script>
<script type="text/javascript">
$('#txtIDstd').bind('keyup change', function () {
var txtIDstd = $("input[name*='txtIDstd']").val();
if (txtIDstd.length <= 4) {
$("input[name*='txtIDstd']").focus();
$("input[name*='txtIDstd']").addClass('error-style');
return false;
} else {
$("input[name*='txtIDstd']").removeClass('error-style');
$.ajax({
url: "return_ids.php",
type: "POST",
data: 'IDstd=' + $("#txtIDstd").val(),
success: function (result) {
//console.log(result);
var obj = $.parseJSON(result);
//console.log(obj);
if (obj === "") {
//$("#idStudent").val('');
$("input[name*='txtIDstd']").focus();
$("input[name*='txtIDstd']").val('');
$("select[name*='txtfname']").val('');
$("select[name*='txtlname']").val('');
$("select[name*='txtclass']").val('');
$("select[name*='txtroom']").val('');
$("select[name*='txtyearin']").val('');
$("#nameDevice").removeClass('error-style');
} else {
$("#nameDevice").addClass('error-style');
$("#room1").focus();
$.each(obj, function (key, inval) {
$("#txtIDstd").val(inval["IDstd"]);
$("#txtfname").val(inval["fname"]);
$("#txtlname").val(inval["lname"]);
$("#txtclass").val(inval["class"]);
$("#txtroom").val(inval["room"]);
$("#txtyearin").val(inval["yearin"]);
//$("input[name*='txtIDstd']").val(inval["IDstd"]);
//$("select[name*='txtfname']").val(inval["fname"]);
//$("select[name*='txtlname']").val(inval["lname"]);
//$("select[name*='txtclass']").val(inval["class"]);
//$("select[name*='txtroom']").val(inval["room"]);
//$("select[name*='txtyearin']").val(inval["yearin"]);
});
}
}
});
}
});
</script>
<style>
@import "compass/css3";
.test {
display: block;
margin-bottom: 1em;
border: 1px solid silver;
width: 100%;
padding: .5em;
}
.test:read-only {
background: #CCCCCC;
color:#000000;
}
.test:read-write {
background: lightgreen;
}
* {
box-sizing: border-box;
}
body {
padding: 1em;
}
</style>
</head>
<body OnLoad="document.autofill.txtIDstd.focus();">
<h2>jQuery Auto fill ดึงข้อมูลอัตโนมัติ</h2>
<form method="post" enctype="multipart/form-data" name="autofill" id="autofill">
<table width="302" border="1">
<tr>
<td> </td>
<td><input type="text" id="room1" name="room1" /></td>
</tr>
<tr>
<td width="104">IDstd</td>
<td width="153"><input type="text" id="txtIDstd" name="txtIDstd"></td>
</tr>
<tr>
<td>fname</td>
<td><input type="text" id="txtfname" name="txtfname"></td>
</tr>
<tr>
<td>lname</td>
<td><input name="txtlname" type="text" id="txtlname"></td>
</tr>
<tr>
<td>class</td>
<td><input type="text" id="txtclass" name="txtclass"></td>
</tr>
<tr>
<td>room</td>
<td><input type="text" id="txtroom" name="txtroom"></td>
</tr>
<tr>
<td>yearin</td>
<td><input type="text" id="txtyearin" name="txtyearin"></td>
</tr>
</table>
</form>
</body>
</html>
Code (PHP)
<?php
include("db_connect.php");
$mysqli = connect();
$sql="SET CHARACTER SET UTF8";
$sql="SELECT * FROM member WHERE IDstd like '".$_POST['IDstd']."'";
//$sql="SELECT * FROM member WHERE IDstd like '09180' ";
//$sql="SELECT * FROM tb_course WHERE courseID='1' ";
//$qr=select($sql); // select ข้อมูลในฐานข้อมูลมาแสดง กรณีดึงมาแค่รายการแรกรายการเดียว
//$rs=$qr[0]; // จำเป็นต้องกำหนด
if($qr=select($sql)) {
$rs=$qr[0];
$result[]=array(
"IDstd"=>$rs['IDstd'],
"fname"=>$rs['fname'],
"lname"=>$rs['lname'],
"class"=>$rs['class'],
"room"=>$rs['room'],
"yearin"=>$rs['yearin'],
);
$mysqli->close();
echo json_encode($result);
}else{
$result = '';
echo json_encode($result);
}
?>
|
|
|
|
|
Date :
2016-05-02 13:08:17 |
By :
akkaneetha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|