Проблема с получением значения JQuery data-id после нажатия кнопки навигации по данным - PullRequest
1 голос
/ 05 августа 2020

У меня ошибка, когда я использую JQuery data-id в jQuery Datatables. Для первых 10 (Десять) записей работает хорошо. Но когда я нажимаю таблицу навигации, чтобы перейти на вторую страницу, значение идентификатора данных не отображается. Пожалуйста, посмотрите мой код ниже:

<a href="#" class="btn bg-brown" data-toggle="modal" data-target="#modal_theme_custom"><i class="icon-plus2 pr-2"></i> Tambah Data</a>
<table class="table datatable-basic table-striped table-hover">
            
                <thead>
                    <tr>
                        <th class="text-center">#</th>
                        <th>Nama Jenis Obat</th>
                        <th class="text-center">Aksi</th>
                    </tr>
                </thead>
                <tbody>
                    <?php
                    $x = 1;
                    $sdata  = mysqli_query($konek, "SELECT * FROM e_jnsobat ORDER BY nm_jnsobat ASC");

                    while($ddata = mysqli_fetch_array($sdata)) {
                        echo "
                                        <tr>
                                            <td class='text-center'>" . $x . ".</td>
                                            <td>" . $ddata['nm_jnsobat'] . "</td>
                                            <td class='text-center'>
                                                <div class='btn-group'>
                                                    <a href='#' class='breadcrumb-elements-item dropdown-toggle' data-toggle='dropdown' aria-expanded='false'>
                                                        <i class='icon-grid3'></i>
                                                    </a>

                                                    <div class='dropdown-menu dropdown-menu-right' x-placement='bottom-end' style='position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(310px, 40px, 0px);'>
                                                        
                                                        <a href='#' data-toggle='modal' data-target='#modalEdit' data-id='".$ddata['id_jnsobat']."' class='dropdown-item btedit'><i class='icon-pencil7'></i> Edit Data</a>
                                                        <div class='dropdown-divider'></div>
                                                        <a href='#' data-toggle='modal' data-target='#modalHapus' data-id='".$ddata['id_jnsobat']."' data-nama='".$ddata['nm_jnsobat']."' class='dropdown-item bthapus'><i class='icon-trash'></i> Hapus Data</a>
                                                    </div>
                                            
                                                </div>
                                            </td>
                                        </tr>
                    
                                    ";
                        $x++;
                    }
                    ?>
                </tbody>
            </table>




        
                <div id="modal_theme_custom" class="modal fade" tabindex="-1">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <form method="post">
                                <div class="modal-header bg-brown">
                                    <h6 class="modal-title">Tambah Data</h6>
                                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                                </div>

                                <div class="modal-body">
                                    <div class="form-group">
                                        <label>Nama Jenis Obat :</label>
                                        <input type="text" class="form-control" name="nm_jnsobat" placeholder="Nama Jenis Obat" required>
                                    </div>
                                    
                                </div>

                                <div class="modal-footer">
                                    <button type="button" class="btn btn-link" data-dismiss="modal">Batal</button>
                                    <button type="submit" name="tambahin" class="btn bg-brown">Tambah Data</button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
                
                
                
                <div id="modalEdit" class="modal fade">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header bg-teal-600">
                            <h4 class="modal-title">Edit Data</h4>
                            <button type="button" class="close" data-dismiss="modal">&times;</button>
                        </div>

                            <div class="modal-body pb-0">
                                <form method="post">
                                    <input type="hidden" name="id_jnsobat" id="id_jnsobat_edit">
                                    <div class="form-group">
                                        <label>Nama Jenis Obat :</label>
                                        <input type="text" name="nm_jnsobat" class="form-control" placeholder="Nama Jenis Obat" id="nm_jnsobat" required>
                                    </div>
                                    
                                    <div class="form-group">
                                        <div class="alert alert-warning">Pastikan data yang anda tambahkan adalah benar.</div>
                                        <button type="button" class="btn btn-link" data-dismiss="modal">Batal</button>
                                        <button type="submit" name="editin" class="btn bg-teal-800">Edit Data</button>
                                    </div>
                                    
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
                
                
                <div id="modalHapus" class="modal fade" tabindex="-1">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <form method="post">
                                <input type="hidden" name="id_jnsobat" id="id_jnsobat_hapus">
                                <div class="modal-header bg-danger">
                                    <h5 class="modal-title">Konfirmasi Hapus Data</h5>
                                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                                </div>

                                <div class="modal-body">
                                    
                                    <div class="alert alert-danger">Anda yakin akan menghapus data <b id="nm_jnsobat_hapus"></b>? Data yang sudah dihapus tidak bisa dikembalikan lagi.</div>   
                                </div>
                                <div class="modal-footer">
                                    <button type="button" class="btn btn-link" data-dismiss="modal">Batal</button>
                                    <button type="submit" name="hapusin" class="btn bg-danger">Ya! Hapus permanen data</button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>


И это javascript код:



<script type="text/javascript">
            $(document).ready(function() {

                $('.btedit').on('click', function() {
                    const id    = $(this).data('id');
                    $('#id_jnsobat_edit').val(id);
                    console.log("Datanya : "+id);
                    $.ajax({
                        type: 'get',
                        url: "<?php echo docroot('ajax/jnsobat/'); ?>"+id,
                        async: false,
                        dataType: 'json',
                        success: function(data) {
                            //console.log("Datanya : "+data);

                            $('#nm_jnsobat').val(data[0].nm_jnsobat);
                            
                        }
                    });
                });
            
                
                $('.bthapus').on('click', function() {
                    const id    = $(this).data('id');
                    const nama  = $(this).data('nama');
                    $('#id_jnsobat_hapus').val(id);
                    //$('#nm_userxx').val(nama);
                    document.getElementById("nm_jnsobat_hapus").innerHTML = nama;
                    //console.log("data : " + nama);
                });
                
                
            });
        </script>
        

на первых 10 перекодировании его работа хорошо, но когда я нажимаю кнопку на go на вторую страницу навигации по данным, идентификатор данных не работает ... Я не знаю, в чем проблема ... извините за мой английский sh ...

1 Ответ

1 голос
/ 05 августа 2020

Согласно приведенным выше комментариям, вот ответ ...

Ниже приведены только события щелчка, которые отображаются перед выполнением кода.

$('.bthapus').on('click', function() { ... });

Заменив это на ниже прослушивает событие щелчка во всем документе, поэтому будут включены динамически созданные элементы (например, разбиение на страницы).

$(document).on('click', '.btedit', function() {
...