Mengambil data id ketika button di click ( javascript )

Ketika button di clik saya ingin mengambil data id ke console berikut kode di scriptnya
$(function() {
   $('.tampilModalUbah').on('click', function() {
      const id = $(this).data('id');
      console.log(id);

   });

});
ini kode di indexnya
<a href=" <?= BASEURL; ?>/mahasiswa/ubah/<?= $mhs['id']; ?>" class="badge badge-success float-right ml-1 tampilModalUbah" data-toggle="modal" data-target="#formModal" data-id="<?= $mhs['id']; ?>">ubah</a>
saya sudah melakukan itu, tapi di console pas aku klik ubah disalah satu data mhs 'id' nya tidak terpanggil:( terimakasih sebelumnya
avatar Alfianifk12

@Alfianifk12

1 Kontribusi 0 Poin

  • Menurut saya, itu salahnya bukan di javascriptnya, karena data-id sendiri didapatkan dari php, jdi itu tinggal oper dri php ke jsnya, benar bkan ?, Untuk salah satu data mhs yg idnya tidak terpanggil, apkah data-idnya muncul ? Ceknya lewat inspect element - @jeffian
  • apakah kamu sudah inspect element? id nya sudah ada disana? coba sebelum fungsi click jalankan console.log dan lihat apakah consolenya berjalan atau tidak. Kalau tidak berarti masalahnya bukan pada onclicknya - @hilmanski


Jawaban Terpilih

@Alfianifk12, Sebenernya codingannya udah bener sih, mungkin coba debug pake alert muncul ga tuh alertnya. 1 tips, buat bind event sebenernya ga usah taro dalem $(function) juga bisa kok, si js udh tau kalo $('element') itu pasti nunggu jquerynya ready. kalo masih ga nongol juga, coba tarik idnya pake attr:
$('.tampilModalUbah').on('click', function (e) {
   // cegah redirect, soalnya itu element 'a', kalo ada href malah redirect lagi
   e.preventDefault();

   let $this = $(this);
   let id = $this.attr('data-id'); // pake ini coba, kali aja bisa

   console.log(id);
});
Semoga membantu. Rergards.
avatar apake1

@apake1

106 Kontribusi 55 Poin

Jawaban

@Alfianifk12, Sebenernya codingannya udah bener sih, mungkin coba debug pake alert muncul ga tuh alertnya. 1 tips, buat bind event sebenernya ga usah taro dalem $(function) juga bisa kok, si js udh tau kalo $('element') itu pasti nunggu jquerynya ready. kalo masih ga nongol juga, coba tarik idnya pake attr:
$('.tampilModalUbah').on('click', function (e) {
   // cegah redirect, soalnya itu element 'a', kalo ada href malah redirect lagi
   e.preventDefault();

   let $this = $(this);
   let id = $this.attr('data-id'); // pake ini coba, kali aja bisa

   console.log(id);
});
Semoga membantu. Rergards.
avatar apake1

@apake1

106 Kontribusi 55 Poin


Login untuk gabung berdiskusi