AUTOCOMPLETE
DENGAN AJAX DAN JQUERY
AUTOFILL : “Inputan otomatis terisi berdasarkan nomor unik seperti NIM, NIK, ID atau
nomor unik lainnya”.
<!DOCTYPE html>
<html>
<head>
<title>Belajar Autofill</title>
</head>
<body>
<form action="">
<table>
<tr><td>ID</td><td><input type="text" onkeyup="isi_otomatis()"
id="userid" style="width:30px;"></td></tr>
<tr><td>NAMA</td><td><input type="text"
id="nama" disabled style="width:300px;"></td></tr>
<tr><td>EMAIL</td><td><input type="text"
id="email" disabled style="width:300px;"></td></tr>
<tr><td>ALAMAT</td><td><input type="text"
id="alamat" disabled style="width:600px;"></td></tr>
</table>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript">
function isi_otomatis(){
var userid = $("#userid").val();
$.ajax({
url: 'ajax.php',
data:"id="+userid ,
}).success(function (data) {
var json = data,
obj = JSON.parse(json);
$('#nama').val(obj.nama);
$('#email').val(obj.email);
$('#alamat').val(obj.alamat);
});
}
</script>
</body>
</html>
<?php
//membuat koneksi ke database
$koneksi = mysqli_connect("localhost", "root", "", "crud-jqueryajax");
//variabel nim yang dikirimkan form.php
$id = $_GET['id'];
//mengambil data
$query = mysqli_query($koneksi, "select * from users where id='$id'");
$user = mysqli_fetch_array($query);
$data = array(
'nama' => $user['nama'],
'email' => $user['email'],
'alamat' => $user['alamat'],);
//tampil data
echo json_encode($data);
?>
Setelah selesai silahkan anda jalankan pada browser dengan mengakses
http://localhost:8080/ajax_autofill/formautofill.php, sehingga akan muncul hasil sebagai
berikut :
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>Ajax Autocomplete</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/
4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<style>
ul{
background-color:#eee;
cursor:pointer;
position: absolute;
width: 95%;
}
li{
padding:12px;
border:thin solid #F0F8FF;
}
li:hover{
background-color:#7FFFD4;
}
</style>
</head>
<body class="bg-light">
<nav class="navbar navbar-dark bg-primary">
<a class="navbar-brand text-white" href="index.php">
LP3I Kampus Depok
</a>
</nav>
<div class="container">
<h3 align="center" class="mt-3 mb-5">Ajax Autocomplete pada
Textbox Menggunakan Ajax</h3>
<div class="row">
<div class="col-sm-6 offset-sm-3">
<label>Nama User</label>
<input type="text" name="nama" id="nama" class="form-control"
placeholder="Tulis Nama User" />
<div id="userList"></div>
</div>
</div>
</div>
$(document).ready(function(){
$('#provinsi').keyup(function(){
var query = $(this).val();
if(query != '')
{
$.ajax({
url:"search.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#provinsiList').fadeIn();
$('#userList').html(data);
}
});
}
});
$(document).on('click', 'li', function(){
$('#nama').val($(this).text());
$('#userList').fadeOut();
});
});
<?php
define('HOST','localhost');
define('USER','root');
define('PASS','');
define('DB1', 'crud-jqueryajax');
// Buat Koneksinya
$db1 = new mysqli(HOST, USER, PASS, DB1);
<?php
include 'koneksi.php';
if(isset($_POST["query"])){
$output = '';
$key = "%".$_POST["query"]."%";
$query = "SELECT * FROM users WHERE nama LIKE ? LIMIT 10";
$aku1 = $db1->prepare($query);
$aku1->bind_param('s', $key);
$aku1->execute();
$res1 = $aku1->get_result();
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1
/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1
/jquery.min.js"></script>
<nav class="navbar navbar-dark bg-primary fixed-top">
<a class="navbar-brand" href="index.php" style="color: #fff;">
LP3I Kampus Depok
</a>
</nav>
<div class="form-group">
<label>Kabupaten/Kota</label>
<select class="form-control" name="kabupaten" id="kabupaten">
<option value=""></option>
</select>
</div>
</div>
</div>
<hr>
</div>
$(document).ready(function(){
$.ajax({
type: 'POST',
url: "get_propinsi.php",
cache: false,
success: function(msg){
$("#provinsi").html(msg);
}
});
$("#provinsi").change(function(){
var provinsi = $("#provinsi").val();
$.ajax({
type: 'POST',
url: "get_kabupaten.php",
data: {provinsi: provinsi},
cache: false,
success: function(msg){
$("#kabupaten").html(msg);
}
});
});
});
Langkah 5 : buat file get_propinsi.php dengan source code sebagai berikut :
<?php
include 'koneksi.php';
echo "<option value=''>Pilih Provinsi</option>";
<?php
include 'koneksi.php';
$provinsi = $_POST['provinsi'];
echo "<option value=''>Pilih Kabupaten</option>";
$query = "SELECT * FROM kota WHERE prov_id=? ORDER BY nama_kota ASC";
$dw1 = $db1->prepare($query);
$dw1->bind_param("i", $provinsi);
$dw1->execute();
$res1 = $dw1->get_result();
while ($row = $res1->fetch_assoc()) {
echo "<option value='" . $row['id'] . "'>" . $row['nama_kota'] . "</option>";
}
?>
<?php
define('HOST','localhost');
define('USER','root');
define('PASS','');
define('DB1', 'crud-jqueryajax');
// Buat Koneksinya
$db1 = new mysqli(HOST, USER, PASS, DB1);
if($db1 === false){
die("ERROR : can not connect to database. Check error here" . mysqli_connect_error());
}
?>
Setelah selesai silahkan anda jalankan pada browser dengan mengakses
http://localhost:8080/ajax_autoselected, sehingga akan muncul hasil sebagai berikut :
SELAMAT MENCOBA