Ajax child / parent() gunanya buat apa ?

jadi gini saya gak tau apa namanya, biar kalau button pada gambar saya ini di click dan terhapus, button selanjutnya juga bisa di click, cuman ketika button pertama di click dan hilang, button ke 2 gak bisa di click, apakah itu yang menggunakan parent ?

perulangan menggunakan php

avatar maszgalang
@maszgalang

297 Kontribusi 80 Poin

Diperbarui 6 tahun yang lalu

13 Jawaban:

Skrip php sama javascriptnya mana? Utk konsepnya. Skrip php menarik database lalu di id misal 1. U kasih tombol dgn fungsi onklik hapus(id). Jadi utk data awal sama dengan hapus(1) dan utk data selanjutnya tombol yg sama di id 2 jadi hapus(2) dst dll dkk dsb.

Lalu fungsi js nya hapus(id) tinggal kirim ajax ke pemrosesan php utk menghapus database dengan id tertuju . kalo mau pake cara normal ga pake ajax u window.redirect ke file php misal fungsiapus.php?idutkdiapus=id

Lalu di fungsi php itu if isset get['iduntukdiapus'] jalanin deh fungsinya utk ngapus db.

avatar Handyddgm
@Handyddgm

29 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

child itu turunannya obyek dari yg di panggil parent itu atasnya obyek dari yang di panggil

simplenya gini:

<pre> &lt;ul&gt; &lt;li&gt;.....&lt;/li&gt; &lt;/ul&gt; </pre> jika semisal kamu manggil obyek tag li maka parentnya ul jika semisal kamu manggil obyek tag ul maka childrennya li

avatar vreallyla
@vreallyla

14 Kontribusi 1 Poin

Dipost 6 tahun yang lalu

button Delete

<pre> &lt;div class="col-md-2" style="text-align: center;padding-top: 20px;"&gt; &lt;?= form_hidden('csrf_wrr_token', $this-&gt;security-&gt;get_csrf_hash());?&gt; &lt;button id="datas" class="btn btn-danger cuks" value="&lt;?php echo $item['rowid']; ?&gt;"&gt;Delete&lt;/button&gt; &lt;/div&gt; </pre>

ini Ajaxnya

<pre> $(".cuks").click(function(){ var det = $("#datas").val(); $.ajax({ type: 'POST', data: {'csrf_wrr_token':'&lt;?= $this-&gt;security-&gt;get_csrf_hash()?&gt;'}, url: '&lt;?= base_url('cart/delete/');?&gt;'+det, success: function(result) { console.log(result) swal({ title: "Berhasil!", text: "Produk Sudah Dihapus", icon: "success", button:"OK!"}); $(".items").load(" .items"); $(".summary").load(" .summary"); }

		});
	});

</pre>

avatar maszgalang
@maszgalang

297 Kontribusi 80 Poin

Dipost 6 tahun yang lalu

kalo pake javascript : html nya : <button onclick="hapus('<?=$item_id;?>')">Hapus</button>

javascript nya : function hapus(x){ var item_id=x; .........(fungsi ajax) if(response text == sukses){ reloadhalaman(); }else{ console.log("ada eror") atau alert("ada eror"); } }

u pake framework ya? bukan murni php? kalo pake framework gw kurang paham, karena gw paling ga suka pake framework2 an, mungkin ada eror di bahasa framework u itu

avatar Handyddgm
@Handyddgm

29 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

framework gak ada yg error cuman implementasian di ajaxnya yg kurang tepat kalau menurut gw, tapi bagian mana yg kurang tepat gitu, kalau pake itu mah reload pagenya, gw pake ajax biar gak reload pagenya, makanya gak pake function hapus(value){}

avatar maszgalang
@maszgalang

297 Kontribusi 80 Poin

Dipost 6 tahun yang lalu

oke, gw kasih u konsep lebih lanjut nya ya... di php : if(query ok){echo "sukses";} di javascript : if(responsetext=='sukses'){document.getElementById("divygmaudikosongin").innerHTML="";}

kalo di ajaxnya ga responsetext sukses, barti di php nya yg eror. balesan response text nya apa?

gw bbrp tahun lalu pernah make laravel, ribetnya ampun2an, masih jauh lebih sederhana pake php murni, makanya gw ga sentuh2 lagi framework apapun.

soal u pake jquery ato javascript itu pilihan u, tapi kalo gw pribadi kurang suka jquery karena bikin loading tambah berat dan user kurang sabar jadinya.

avatar Handyddgm
@Handyddgm

29 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

Pake custom id aja, buat ngambil spesifikid nya, misal <pre> &lt;button class="btn btn-danger cuks" data-id="&lt;?php echo $item['rowid']; ?&gt;"&gt;Delete&lt;/button&gt; </pre> terus di ajaxnya, ambil atribut data-id nya, jadi <pre> $(".cuks").click(function(){ var det = $(this).attr('data-id'); // tinggal oper ke ajax </pre> semoga membantu ^^

avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 6 tahun yang lalu

@bosque, tetep aja bro, jadi waktu delete yg pertama udah ke hapus dan ane refresh attributnya pake

<pre> $(".items").load(" .items"); </pre> nah seteah itu kan berubah tuh jadinya tinggal 1 data, nah buttonya itu gak mau jalan gitu bro

@handy gw suka pake ajax soalnya gak perlu load, biar simple gitu aja jadi gak begitu ribet nunggu refress cdn dll, kecuali kalau setting cookies jadi gak load lagi

avatar maszgalang
@maszgalang

297 Kontribusi 80 Poin

Dipost 6 tahun yang lalu

coba gugel dulu kalimat kodingan gw yang document.getElementById("divygmaudikosongin").innerHTML=""; itu artinya utk reload apa bukan.

dan coba cek lagi kodingan yg php : if(query ok){ echo "sukses"; }

dilanjut dengan kodingan javascript if(responsetext=='sukses'){}

itu bahasa gw pake ajax bukan coba gugel dulu.

petunjuk :

  1. kodingan yg gw kasi diatas itu konsep nya bukan pake page reload, tapi utk kosongin div
  2. kalo uda pake responsetext dari bahasa server (php) itu uda pasti ajax

refresh cdn itu apaan yah? apa u pake jquery yg dari cdn? kecuali u hard refresh (ctrl+f5) itu baru u download cdn jquery lagi, tapi kalo u sekedar reload (f5) itu cdn yg uda u tarik uda masuk ke dalam cookies browser u, jadi kaga akan donlot cdn ulang.

ya sudah DITELAAH BAIK2 contoh kodingan gw, jangan langsung mikir itu bukan kodingan ajax.

avatar Handyddgm
@Handyddgm

29 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

coba di ajax nya ubah kyk gini <pre> $(".cuks").click(function(){ var det = $(this).attr('data-id'); $.ajax({ type: 'POST', data: {'csrf_wrr_token':'&lt;?= $this-&gt;security-&gt;get_csrf_hash()?&gt;'}, url: '&lt;?= base_url('cart/delete/');?&gt;'+det }).done(function(result){ swal({ title: "Berhasil!", text: "Produk Sudah Dihapus", icon: "success", button:"OK!"}); location.reload(); });

	}); &lt;/pre&gt;
avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 6 tahun yang lalu

Kalau Pakai location.reload() swalnya akan Gak keliatan gan, dan itu location.reload itu global gak cuman di element itu aja

avatar maszgalang
@maszgalang

297 Kontribusi 80 Poin

Dipost 6 tahun yang lalu

if (responseText=='ok'){ document.getElementById('x').innerHTML=''; }

gugel lagi soal javascript dan ajax, dengan u set innerhtml='' itu uda mengosongkan isi dari suatu div, dengan kata lain, u kaga reload website.

avatar Handyddgm
@Handyddgm

29 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

CASE CLOSE

gw akhirnya mikir menggunakan function reload page habis swal di click

<pre> swal({}).then(function(){ location.reload();}); </pre>

avatar maszgalang
@maszgalang

297 Kontribusi 80 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban