Daftar dan Belajar Sekarang!

Mendapatkan nilai dari TD pada table

foto RezkyVengeance
60 Kontribusi 14 Coto
1 tahun yang lalu
Halo, saya ingin bertanya soal jquery, sekarang saya sedang membuat project pribadi sekaligus untuk belajar saya. saya sekarang sedang mencoba untuk membuat halaman admin yang bisa update table data di database melalui admin panel website saya, tentunya saya ingin mengedit sebagian field saja dan saya sedang mencoba menggunakan ajax untuk bisa menampilkan datanya langsung ke web tanpa harus reload dan pada tahap ini semuanya berjalan lancar data berhasil di tampilkan pada website.  https://i.imgur.com/58aPgAx.png saya hanya ingin mengganti harga pada table produk saya lebih tepatnya menambahkan harga dari saya, karena saya reseller produk tersebut, seperti pada gambar di bawah ini, saya ingin mengisi pada bagian markup yang semula 0 menjadi nominal tertentu, saya berhasil mencoba memunulkan nominal yang saya edit tersebut di bagian console menggunakan javascript : saya menggunakan ajax dan metode post untuk ini, dan codenya seperti ini:
function update_data(id, id1, markup)
  {
   $.ajax({
    url:"markup.php",
    method:"POST",
    data:{id:id, id1:id1, markup:markup},
    success:function(data)
    {
     $('#alert_message').html('<div class="alert alert-success">berhasil' +data+ '</div>');
     
     
    }
   });
   setInterval(function(){
    $('#alert_message').html('');
   }, 5000);
  }

// pada bagian bawah ini saya tidak pakai karena sebelumnya sudah saya coba dan gagal submit ke db, jadi saya coba untuk melihat melalui console log nilai apa yang di hasilkan oleh script ini dan ternyata bisa dilihat pada code selanjutnya. 

  $(document).on('blur', '.update', function(){
   var id = $(this).data("id");
   var id1 = $(this).data("id1");
   var markup = $(this).text();
   
   update_data(id, id1, markup);
  });
$(document).ready(function(){
   
    $(document).on('blur', 'tr td', function(){
        console.log($(".id").val());
        console.log($(".idd").val());
        console.log($(this).text());
       
    });
tetapi yang muncul hanya yang ketiga dua sebelumnya berstatus "kosong"  https://i.imgur.com/U3VTHMC.png
<tr>
<td class="id" data-id="1">1</td>
<td class="idd" data-idd="produk1">Produk1</td>
<td>Produk1</td>
<td>Produk1</td>
<td>98000</td>
<td class="update" contenteditable="true">5000</td>
 <td>2018-12-11</td>
                </tr>
saya ingin dapet nilai dari data-id(nilai id dari table databasenya), data-idd(nama table databasenya) dan contenteditablenya(harga tambahan), ketiga tersebut mau saya pakai untuk di jadikan parameter untuk melakukan update table pada database website saya. apakah ada yang mau bantu saya, supaya bisa dapat ketiga nilai tersebut ? oh iya, ini kode pada bagian markup.php
<?php require_once "core/init.php";
?>
<?php if (isset($_POST['id'])) {
global $link;
$value  =  escape($link, $_POST["markup"]);
$id1    = escape($link, $_POST["idd"]);
$query = "UPDATE '$id1' SET 'markup' = '".$value."' WHERE id = '".$_POST["id"]."'";

if(mysqli_query($link, $query)) {
    echo 'Data Updated';
}else {
    echo 'Gagal';
}

}
?>
mohon maaf kalau pertanyaan saya kurang jelas, karena saya udah ngantuk, capek ngodingin ini dari jam 4 sore sampe jam 4 subuh. hihihihi terimakasih semuanya

Tag: jquery ajax php

✔ Forum ini sudah terjawab


Jawaban
foto hilmanski
2150 Kontribusi 1729 Coto
1 tahun yang lalu
Dari struktur htmlnya, kalo seperti ini
<tr>
<td class="id" data-id="1">1</td>
<td class="idd" data-idd="produk1">Produk1</td>
<td>Produk1</td>
<td>Produk1</td>
<td>98000</td>
<td class="update" contenteditable="true">5000</td>
 <td>2018-12-11</td>
</tr>
Artinya yang diklik adalah sodara/sibling dari elemen yang mau diambil. Karena itu kita pake metode sibling jquery
$(this).siblings( ".id" ).attr( "data-id" )
answered icon
foto hilmanski
2150 Kontribusi 1729 Coto
1 tahun yang lalu
Dari struktur htmlnya, kalo seperti ini
<tr>
<td class="id" data-id="1">1</td>
<td class="idd" data-idd="produk1">Produk1</td>
<td>Produk1</td>
<td>Produk1</td>
<td>98000</td>
<td class="update" contenteditable="true">5000</td>
 <td>2018-12-11</td>
</tr>
Artinya yang diklik adalah sodara/sibling dari elemen yang mau diambil. Karena itu kita pake metode sibling jquery
$(this).siblings( ".id" ).attr( "data-id" )

foto RezkyVengeance
60 Kontribusi 14 Coto
1 tahun yang lalu
iya mas, sudah saya tandai, oh iya kenapa setiap saya mau post komentar untuk ngebales komenan masnya yang di komen saya sebelumnya itu selalu ada warning "comment wajib diisi."?
  • saya kruag tahu maksudnya, di forum ada 2, ada komentar ada jawaban, sebenarnya kolom jawaban yang kamu isis sekarng khusus untuk menjawab pertanyaan bukan berkomentar seperti chatting. Jadi nanti jawaban yang bukan jawaban akan dihapus, kalau mau komentar bisa di bagian "tulis komentar" - hilmanski

foto RezkyVengeance
60 Kontribusi 14 Coto
1 tahun yang lalu
 https://i.imgur.com/zquDTsV.png seperti itu mas
  • terima kasih laporannya, 1. coba hard-reload (ctrl+shift+r), 2.bisa kirim tuliskan platform yang dipakai browser-versi? - hilmanski

foto RezkyVengeance
60 Kontribusi 14 Coto
1 tahun yang lalu
masih tetap tidak bisa mas, platform windows 10,laptop, google chrome = Version 71.0.3578.80 (Official Build) (64-bit)  https://i.imgur.com/9rqG2UO.png
  • terima kasih, saya sudah coba dari windows 10 tidak ada masalah, bisa infokan 1. versi chromenya 2. klik kanan > inspect element > lihat di console apakah ada error saat kamu submit seperti diatas - hilmanski
  • bisa edit jawabannya? dan tambahkan info versi chrome? - hilmanski
  • sayangnya saya sudah test dan harusnya tidak ada masalah, kemungkinan hanya karena belum "hardReload", coba google hard-reload di platform kamu (linux/windows) dan lakukan itu di halaman sekolahkoding, sepertinya ctrl+shift+r untuk mac saja - hilmanski

foto RezkyVengeance
60 Kontribusi 14 Coto
1 tahun yang lalu
POST https://sekolahkoding.com/reply-forum-comment/40684 422 (Unprocessable Entity)


Login untuk diksusi di forum sekolah koding