Saya mencoba memperbarui <div> dengan tabel menggunakan jQuery. Saya ingin menambahkan penangan click ke setiap <td>, tetapi penangan click akan berbeda untuk setiap <td>. Bagaimana Anda mengetahui <td> mana yang diklik jika tidak memiliki id?

$(document).ready(function(){
  $("button").click(function(){

    $.post("controller.php",{ },
    function(data){
      var obj = JSON.parse(data);
      var object;             

      //add to a table...
      var t = "<table id='newstable' class='table table-dark table-hover'><thead><tr><th>Post Subject</th><th>Last Post</th></tr></thead><tbody>";
      for (var i = 0; i < obj.length; i++) {  // for each row
        object = obj[i];
        t += "<tr>";                        
        t += "<td colspan='2'>" + object[Object.keys(object)[0]] + "</td>";  // the property value, not the property name 
        //future lastpost td
        t += '</tr>';
      }
      t += '</tbody></table>';
      alert(t);

      $("#main-container").html(t);
    });
  });
});

Saya mengerti bahwa untuk mendapatkan id Anda harus menggunakan kode ini

$(document).ready(function() {
    $("#mycontainer").on('click', '#newtable tbody tr td', function(event) {
        alert(event.target.id);
    });
});

Tetapi bagaimana jika id tidak disetel?

Ada yang punya rekomendasi? atau bimbingan? Terima kasih

Saya mencoba mengkodekan saran Daniel Lizik dan inilah yang saya dapatkan. Ini tidak bekerja. Setiap ide bagaimana memperbaikinya akan sangat dihargai. Terima kasih.

$(document).ready(function(){
    $("#main-container").on('click','#newstable tbody tr td',function(event){       
        var clickedTd = event.target;       
        var newsTd;

        $("#newstable td").each( function(){
            newsTd = $(this);                   
            if(clickedTd == newsTd){
                alert("they match");
            } else {
                alert("no match");
            }
        });         

    });
});
1
inexperiencecoder 29 Oktober 2019, 07:21

1 menjawab

Jawaban Terbaik

Saya pikir cara termudah adalah mendapatkan koordinat sel Anda. Saya akan memberikan contoh di bawah ini. Anda kemudian dapat menentukan untuk setiap koordinat tindakan yang harus diambil. Jika tidak, Anda juga dapat menambahkan untuk setiap elemen td atribut data tempat Anda meneruskan informasi yang akan Anda gunakan untuk pemrosesan javascript Anda.

$(document).ready(function() {
    $("#mycontainer").on('click', '#newtable tbody tr td', function() {
        var colIndex = $(this).index();
        var rowIndex = $(this).parents('tr').index();
        alert(colIndex + ',' + rowIndex);
    });
});
1
Bluety 29 Oktober 2019, 04:57