Kemarin sempet melihat halaman administrator sebuah cms, di dalamnya terdapat daftar artikel yang telah diposting. Di dalam daftar tersebut terdapat komponen Checkbox yang berfungsi untuk menghapus/mengedit secara massal data artikel yang telah ada. Pada awalnya hanya ingin iseng-iseng, tapi karena saya merasa mungkin akan ada yang butuh, maka saya share pada blog ini.
Pada artikel kali ini saya tidak akan menjelaskan untuk penggunaan komponen tersebut dengan memanfaatkan fasilitas dari framework CodeIgniter tersebut. Semua dapat dilihat dengan jelas di dalam user guide yang tersedia.
Baiklah tanpa berlama-lama saya awali saja, pertama saya siapkan view untuk tampilannya:
<form method="post" action="<?=base_url()?>artikel/hapus">
<table cellpadding="0" cellspacing="0" width="100%">
<thead><tr><td width="5%"><?=form_checkbox('chek', '', '', 'class="cekAll"')?></td><td width="30%">Nama</td><td>Keterangan</td></tr></thead>
<?
$no=1;
foreach($kueri as $dt_kueri):
?>
<tbody><tr><td><?=form_checkbox('cek[]', $no, '')?></td><td><?=$dt_kueri->judul;?></td><td>Keterangan</td></tr></tbody>
<?
$no++;
endforeach;
?>
</table>
<input type="submit" value="Hapus" />
</form>
Kita asumsikan saja bahwa program di atas akan menampilkan data artikel dengan jumlah 10. Fungsi check/uncheck all tersebut akan aktif ketika komponen checkbox dengan nama “chek” yang berada di baris paling atas diaktifkan, begitu juga sebaliknya. Untuk fungsi check/uncheck tersebut menggunakan fungsi javascript dengan framework jquery:
<script type="text/javascript">
$(document).ready(function()
{
$(".cekAll").click(function()
{
var checked_status = this.checked;
$("input[@type=checkbox]").each(function()
{
this.checked = checked_status;
});
});
});
</script>
Fungsi check/uncheck all sudah selesai, tinggal menambahkan fungsi php untuk dapat mengeksekusi postingan tersebut. Pada controller saya buat:
$nilai = $this->input->post('cek');
foreach($nilai as $dt_nilai)
{
echo $dt_nilai;
}
Controller di atas akan menghasilkan nilai value untuk komponen checkbox yang di check dengan diwakili oleh variabel $dt_nilai. Variabel ini dapat digunakan sesuai dengan kebutuhan baik itu untuk menghapus data maupun mengedit data. Semoga bermanfaat
