我的编辑按钮在下一页不起作用(仅在第一页起作用)

Posted

技术标签:

【中文标题】我的编辑按钮在下一页不起作用(仅在第一页起作用)【英文标题】:my edit button doesnt work on the next page (only work on the first page) 【发布时间】:2017-10-17 18:41:40 【问题描述】:

我的编辑和删除查询仅适用于数据表的第一页,但不适用于第二页。 我正在使用 ajax 和 jquery。我是新来的,这是我在大学的项目。谢谢你帮助我。 这是代码。

 <script>
       $(function () 
    $("#example1").DataTable();
    $('#example2').DataTable(
      "paging": true,
      "lengthChange": false,
      "searching": false,
      "ordering": true,
      "info": true,
      "autoWidth": false
    );
  );

    </script>
    
    <script type="text/javascript">
      $(document).ready(function ()
        $(".open_modal").click(function (e)
          var m = $(this).attr("id");
          $.ajax(
            url: "user_edit.php",
            type: "GET",
            data : username: m,,
            success: function (ajaxData)
              $("#ModalEdit").html(ajaxData);
              $("#ModalEdit").modal('show',backdrop: 'true');
            
          );
        );
      );
    </script>

    <script type="text/javascript">
     $(document).ready(function ()
      $(".open_delete").click(function (e)
        var m = $(this).attr("id");
        $.ajax(
          url: "user_delete.php",
          type: "GET",
          data : username: m,,
          success: function (ajaxData)
            $("#ModalDelete").html(ajaxData);
            $("#ModalDelete").modal('show',backdrop: 'true');
          
        );
      );
    );
  </script>
<button type="button" data-toggle="modal" data-target="#tambah" class="btn btn-info"><i class="glyphicon glyphicon-plus"></i> Tambah User</button>
            </br>
            </br>

            <?php include"alert.php"; ?>
            <table id="example1" class="table table-bordered table-striped" >
              <thead>
                <tr>
                  <th>Nomor</th>
                  <th>Username</th>
                  <th>Nama Lengkap</th>
                  <th>Password</th>
                  <th>Level</th>
                  <th>Nama Toko</th>
                  <th>Action</th>   
                </tr>
              </thead>

              <tbody>
              <?php 
              include "connection.php";
              $query_mysql = mysqli_query($connection,"SELECT username, password, level, nama_lengkap, status, nama_toko FROM master_user INNER JOIN master_toko ON master_user.id_toko = master_toko.id_toko where status='0'")or die(mysqli_error());

              $nomor = 1;
              while($data = mysqli_fetch_array($query_mysql))
                ?>
                  <tr>
                    <td><?php echo $nomor++; ?></td>
                    <td><?php echo $data['username']; ?></td>
                    <td><?php echo $data['nama_lengkap']; ?></td>
                    <td><?php echo $data['password']; ?></td>
                    <td><?php echo $data['level']; ?></td>
                    <td><?php echo $data['nama_toko']; ?></td>
                    <td>
                      <a href="#" class='btn btn-primary open_modal' id='<?php echo $data['username']; ?>'><span class="glyphicon glyphicon-pencil" style="padding-right: 2px"></span>Edit</a> |
                      <a href="#" class='btn btn-danger open_delete' id='<?php echo $data['username']; ?>'><span class="glyphicon glyphicon-trash" style="padding-right: 2px"></span>Hapus</a>        
                    </td>
                  </tr>  <?php  ?>
                </tbody>
               
              </table>
            </div>
          </div>
        </div>
      </div>
    </section>
    
   <!-- FOR EDIT AND DELETE -->
    <div id="ModalEdit" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    </div>

    <div id="ModalDelete" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    </div>

这是用于编辑 我引用用户名,因为用户名是我的主键 这里是代码

    include "connection.php";
    $username = $_GET['username'];
    echo $username;
    $ambildata = mysqli_query($connection,"select * from master_user where username='$username'");
    
    while($row=  mysqli_fetch_array($ambildata))
?>

<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
            <h4 class="modal-title" id="myModalLabel">Edit User</h4>
        </div>
        <div class="modal-body">
            <form class="form-horizontal" action="proses_edituser.php" name="modal-popup" enctype="multipart/form-data" method="POST" id="form-edit">
           
                <div class="form-group">
                    <label class=" control-label col-md-3">Username</label>
                        <div class="col-md-9">
                            <input class="form-control" type="text" name="username" value="<?php echo $row['username']; ?>"/>
                            
                            <span class="help-block"></span>
                        </div>
                </div>
                            
                <div class="form-group">
                    <label class="col-md-3 control-label">Nama Lengkap</label>
                        <div class="col-md-9">
                       <input  class="form-control" type="text" name="nama_lengkap" value="<?php echo $row['nama_lengkap']; ?>"/>
                        <span class="help-block"></span>
                        </div>
                </div>
                            
                <div class="form-group">
                     <label class="col-md-3 control-label">Password</label>
                        <div class="col-md-9">
                        <input class="form-control" type="password" name="password" value="<?php echo $row['password']; ?>"/>
            </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-md-3">Level</label>
                        <div class="col-md-9">
                             <select name="level" class="form-control">
                                          <option value=''>--Select--</option>
                                          <option value='owner' <?php if ($row['level']=='owner')echo"SELECTED";?>>Owner</option>
                                          <option value='manajer' <?php if($row['level'] == 'manajer') echo "SELECTED";  ?>>Manajer</option>
                                          <option value='bendahara' <?php if($row['level'] == 'bendahara') echo "SELECTED";  ?> >Bendahara</option>
                                          <option value='administrator' <?php if($row['level'] == 'administrator') echo "SELECTED";  ?>>Administrator</option>
                                      </select>
                            <span class="help-block"></span>
                        </div>
                </div>

                 <div class="form-group">
                    <label class="control-label col-md-3">Toko</label>
                    <div class="col-md-9">
                      <select name="id_toko" class="form-control">
                        <option value="">-- Pilih Toko --</option>
                        <?php
                          require "connection.php";
                          $datatoko = "SELECT * FROM master_toko ORDER BY id_toko ASC";
                          $resultsql = mysqli_query($connection, $datatoko);
                          if (mysqli_num_rows($resultsql) > 0) 
                            while ($row = mysqli_fetch_assoc($resultsql)) 
                             
                             echo "<option value='$row[id_toko]'>$row[nama_toko]</option>";

                             // $nama_toko = $row['nama_toko'];
                              //echo '<option value="'.$row['id_toko'].'">'. $nama_toko.'</option>';
                            
                                  
                      ?>
                    </select>
                    
                  </div>
                </div>
              
    
    
      <div class="modal-footer">
                <button type="submit" class="btn btn-success" value="Simpan"><span class="glyphicon glyphicon-floppy-saved" style="padding-right: 2px"></span>Simpan</button>
                <button class="btn btn-danger" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-floppy-remove" style="padding-right: 2px"></span>Batal</button>                
            </div>
            </form>
    
            <?php
    
            ?>
            </div>
        </div>
    </div>

【问题讨论】:

您无法将 PHP 代码添加到 Stack Fiddle。只有 HTML、JS、CSS 代码可以放在 Fiddle 上。 【参考方案1】:

问题是因为这些按钮的 html 被再次呈现,并且未找到附加到这些按钮的先前事件。因此,您还需要为新元素添加事件。一种好的解决方案是使用 jQuery on 方法将事件也附加到动态元素上。使用下面的代码检查

<script type="text/javascript">
      $(document).ready(function ()
        $("body").on('click', '.open_modal', function (e)
          var m = $(this).attr("id");
          $.ajax(
            url: "user_edit.php",
            type: "GET",
            data : username: m,,
            success: function (ajaxData)
              $("#ModalEdit").html(ajaxData);
              $("#ModalEdit").modal('show',backdrop: 'true');
            
          );
        );
      );
    </script>

    <script type="text/javascript">
     $(document).ready(function ()
      $("body").on('click', '.open_delete', function (e)
        var m = $(this).attr("id");
        $.ajax(
          url: "user_delete.php",
          type: "GET",
          data : username: m,,
          success: function (ajaxData)
            $("#ModalDelete").html(ajaxData);
            $("#ModalDelete").modal('show',backdrop: 'true');
          
        );
      );
    );
  </script>

【讨论】:

感谢您帮助我 :)) @AgamBanga !它真的很有效,你的解释真的帮助我更多地学习编程。太感谢了。我投票给你 我想再问你一次,我使用用户名作为我的主键,之后有一个错误,因为我无法在该表单中编辑我的用户名。问题是,我怎样才能得到我的用户名的旧值,所以当我编辑数据时,查询如“update master_user set username = ((($newusername)) where username = ((($oldusername)))” ?谢谢@AgamBanga @natalieglo 你想在username 的条件下更新username 吗? 是的,可以吗?或者我应该添加一个ID?我尝试使用 phpmyadmin 并且它可以工作.. 但不是在我的程序中._。 @AgamBanga @natalieglo 最好的方法是使用自动增量 id 作为主键并根据 id 进行更新。但它也应该与用户名一起正常工作。你能告诉我更新的php代码吗?

以上是关于我的编辑按钮在下一页不起作用(仅在第一页起作用)的主要内容,如果未能解决你的问题,请参考以下文章

ngx-分页单击下一页不起作用

webview javascript将值推送到上一页不起作用

Ext Js Paging 无法导航到下一页,刷新,最后一页不起作用

媒体查询在第一页加载时不起作用

分页只在第一页显示条目

Bootstrap Modal 在第二页的 DataTable 中不起作用