+62 852-9966-1376

Membuat Autofill Form Select Dengan CodeIgniter

Bismillah..
Halo sob! dah lama buanget gak update blog ane.. banyak banget kesibukan offline
Ok.. langsung saja..
Kali ini saya akan membagikan tips membuat AutoFill Form dengan CodeIgniter.
Apa sih autofill?
Itu lho lho mas.. field form yang otomatis terisi ketika kita memilih sesuatu.

Data isian pada kasus ini saya ambil dari tabel lain..
Langsung saja ya..
1. Controller
Controller User Add
public function add() {

 $data['title'] = "Menambah Data Baru";
    $data['users'] = $this->siswa_model->datasiswa();
 $this->load->view('user/user_add_autofill', $data);
}
Selanjutnya buat lagi fungsi cari
public function cari(){
 $id = $_GET['id_anggota'];
 $cari     = $this->siswa_model->carisiswa($id);
 echo json_encode($cari);
} 

2. Model
Selanjutnya query database kita olah di model. Saya asumsikan model sudah diload di controller dengan nama model Siswa_model.php
public function datasiswa(){
 $this->db->where('posisi', 'pengurus');
 $this->db->where("id NOT IN (SELECT id_anggota FROM users WHERE id_anggota=siswa.id ) ");
 $query = $this->db->get('siswa')->result();
 return $query;
}
Model pencarian data
public function carisiswa($id){
 $query = $this->db->get_where('siswa',array('id'=>$id))->result();
 return $query;
}

3. View
Langkah terakhir adalah membuat tampilan. Buat folde user pada bagian view dan buat sebuah file dengan nama user_add_autofill.php.
Pastikan sobat sudaj meload jquery.js dan bootstrap.js

Berikut kodenya
 
<form action="<?=base_url();?>user/add" name="form_user" class="form-horizontal" id="form_user" enctype="multipart/form-data" method="POST" autocomplete="off" accept-charset="utf-8">
<select onchange="isi_data()" class="form-control chosen chosen-select-deselect" name="id_anggota" id="id_anggota" data-placeholder="Pilih Data" > <?php foreach ($users as $row): ?> <?php endforeach; ?> </select>
<input type="text" class="form-control" name="full_name" id="full_name" placeholder="Nama Lengkap" value="<?= set_value('full_name'); ?>">
<input type="text" class="form-control" name="email" id="email" placeholder="E-mail" value="<?= set_value('email'); ?>">
<textarea id="alamat" name="alamat" class="textarea form-control" rows="8" cols="80"><?= set_value('alamat'); ?></textarea>
</form>
[removed] function isi_data(){ var id_anggota = document.getElementById('id_anggota').value; $.ajax({ url:"<?php echo base_url();?>user/cari", data:'&id_anggota='+id_anggota, success:function(data){ var hasil = JSON.parse(data); $.each(hasil, function(key,val){ document.getElementById('full_name').value = val.nama_lengkap; document.getElementById('alamat').value = val.alamat; if(val.email == '') { var nama = val.nama_lengkap.split(' ').join('').toLowerCase(); document.getElementById('email').value = nama+"@gmail.com"; } else if(val.email == '-') { var nama = val.nama_lengkap.split(' ').join('').toLowerCase(); document.getElementById('email').value = nama+"@gmail.com"; } else { document.getElementById('email').value = val.email; } }); } }); } [removed]


Selamat mencoba
 
Sahid

Nur Sahid, mengabdi sebagai Aparatur Sipil Negara. Disamping juga bekerja sebagai freelance untuk pemrograman web dan android. Skill yang dimiliki adalah HTML, CSS, Javascript, PHP Native dan Framework Codeigniter, JQuery, AngularJS, VueJS

Masukkan Komentar Anda