Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
codeigniter load more
Permisi gan, ane buat fitur load more pake jquery ajax dengan code seperti ini
<script>
$(document).ready(function(){
$('.btn').on('click',function(e){
e.preventDefault(); // prevent reload page
var page = $(this).data('val'); // set var page
berita(page); // run function page
$("#load_more").hide(); //hide button
});
});
var url = 'http://localhost/codeigniter/'
var berita = function (page){
$("#load_more").show();
$.ajax({
url: url+"Praktek/get_berita",
type:'GET',
data: {page:page}
}).done(function(data){
$(".bungkus").append(data);
$("#load_more").data('val',($('#load_more').data('val')+1));
$("#load_more").show();
if(data==""){
$("#load_more").hide();
}
});
};
</script>
jika controllernya seperti ini, button akan hilang jika sudah tidak ada data yg di load
function get_berita(){
$page = $_GET['page'];
$berita = $this->Model_artikel->show_more($page);
foreach ($berita as $hasil) {
echo'<div class="wrap_body">
<div class="judul_body">
<a href="'.base_url().'read/'.$hasil['id_artikel'].'"> '.$hasil['judul_artikel'].'</a>
</div>
</div>
';
}
}
jika pakai controller yg ini,button akan tetap muncul walau tdk ada data yg di load
function get_berita(){
$page = $_GET['page'];
$data['berita'] = $this->Model_artikel->show_more($page);
$this->load->view('home/ajax',$data);
}
view
<?php foreach ($berita as $ajax) : ?>
<div class="wrap_body">
<div class="gbr_body">
<a href="<?php echo base_url(); ?>read/<?php echo $ajax['id_artikel']; ?>"><img class="img-responsive" src="<?php echo base_url(); ?>assets/uploads/<?php echo $ajax['nama_gambar']?> " width="220" height="50"></a>
</div>
<div class="judul_body">
<a href="<?php echo base_url(); ?>read/<?php echo $ajax['id_artikel']; ?>"> <?php echo $ajax['judul_artikel']; ?></a>
</div>
<div class="isi_body">
<?php echo ''.str_replace(array('<p>','</p>'),array(' ',' '),substr($ajax['isi_artikel'],0,100)).'.....'; ?>
</div>
<div class="tes_body">
<?php echo date('d-m-Y',strtotime($ajax['tanggal_artikel'])); ?>
</div>
</div>
<?php endforeach; ?>
mohon dijelaskan kenapa bisa terjadi seperti itu. terima kasih
1 Jawaban:
Jawaban Terpilih
coba cek dibagian ini gan:
$("#load_more").show();
if(data==""){
$("#load_more").hide();
}
diubah seperti ini:
if(data==""){
$("#load_more").hide();
} else {
$("#load_more").show();
}
Jika belum, coba cek apakah saat if (data == "") sudah benar datanya kosong? coba cek log nya Jika masih belum, coba cek apakah masuk kedalam function tersebut? coba jg log nya