繁体   English   中英

加载更多按钮一次

[英]Load more button works just once

我有一个名为tbl_video的表,该表包含两个字段(video_id,video_title)。我想使用像社交网站这样的Ajax JQuery添加更多加载按钮。我能够获得前两个记录,但是当我第二次尝试时什么都没发生。我没有任何错误。我在做什么错。

这是我的index.php文件,我在这里创建表结构,然后获取两条记录。并获取第二条记录的ID值并将其发送到more.php文件

  <body>  

                    <table class="table table-bordered" id="load_data_table"> 

                    <thead>
                    <tr>
                    <td width="15%">Video Id</td>
                    <td>Video Title</td>
                    </tr>
                    </thead>
                    <?php

                    while ($row = mysqli_fetch_array($result)) {
                        $video_id = $row['video_id']; ?>
                             <tr>
                             <td><?php echo $row['video_id']; ?></td>
                             <td><?php echo $row['video_title']; ?></td>

                             </tr>
                        <?php
                    }

                    ?> 
                    <tr id="remove_row"><td><button type="button" id="more" class="btn btn-success form-control"
                     data-id="<?php echo $video_id; ?>">More</button></td></tr>

                    </table>  
               </div>  
          </div>  
     </body>  
</html>  
 <script>  
 $(document).ready(function(){  
     $('#more').click(function(){
 var id=$(this).data("id");


        $.ajax({
            url:"more.php",
            data:{id:id},
            method:"post",
            success:function(data){

              if(data!=''){

               $('#load_data_table').append(data);
               $('#remove_row').remove();


              }
              else{
                $('#more').html("No Data");
              }
            }

这是more.php文件。我认为这是自我解释

$id = $_POST['id'];
$output = '';
$db = mysqli_connect('localhost', 'root', '', 'testing');
$data = mysqli_query($db, "select * from tbl_video where video_id >{$id} limit 2");
if (mysqli_num_rows($data)) {
    while ($row = mysqli_fetch_array($data)) {
        $output .= '

         <tbody>
         <tr>
          <td>'.$row['video_id'].'</td>
          <td>'.$row['video_title'].'</td>
         </tr>

         ';
    }
    $output .= '
  <tr id="remove_row"><td><button type="button" id="more" class="btn btn-success form-control"
  data-id="'.$row['video_id'].'">More</button></td></tr></tbody>

  ';
    echo $output;
}

任何帮助都会得到应用。

当您添加新行时,有一个用于“更多”的新按钮

它具有与原始按钮相同的ID,因此存在冲突

也需要将javascript初始化为这样

PHP:

   $output .= '<tr id="remove_row"><td><button type="button"  class="more btn btn-success form-control" data-id="'.$row['video_id'].'">More</button></td></tr></tbody>';

使用Javascript:

<script>  
function moreButton() {
$('.more').click(function(){
var id=$(this).data("id");


$.ajax({
    url:"more.php",
    data:{id:id},
    method:"post",
    success:function(data){

      if(data!=''){

       $('#load_data_table').append(data);
       $('#remove_row').remove();

         moreButton();
      }
      else{
        $('.more:last').html("No Data");
      }
    }
 });
 }
 $(document).ready(function(){  

   moreButton();
 });

不要忘记使用.more删除类的more按钮的ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM