Postingan lainnya
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
0
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
0