【问题标题】:Loaded Post Button Disable已加载帖子按钮禁用
【发布时间】:2017-11-28 13:44:43
【问题描述】:

我们如何在所有帖子都加载后禁用按钮?

所有帖子已加载 = 按钮禁用或隐藏

或显示另一种方式 ajax 加载更多分页 codeigniter :(

我不懂英文对不起

控制器

public function getCountry(){
  $page =  $_GET['page'];
  $this->load->model('posts_model');
  $posts = $this->posts_model->getCountry($page);
  foreach($posts as $post){
     echo "<h3>".$post->post_title."</h3><td>".$post->post_content."</td>";
  }
  exit;
}

型号

public function getCountry($page){
    $offset = 2*$page;
    $limit = 2;
    $sql = "select * from posts limit $offset ,$limit";
    $result = $this->db->query($sql)->result();
    return $result;
}

脚本

<script>
    $(document).ready(function(){
      getcountry(0);
      $("#load_more").click(function(e){
        e.preventDefault();
        var page = $(this).data('val');
        getcountry(page);
      });
    });

    var getcountry = function(page){
      $("#loader").show();
      $.ajax({
        url:"<?php echo base_url() ?>welcome/getCountry",
        type:'GET',
        data: {page:page}
      }).done(function(response){
        $("#ajax_table").append(response);
        $("#loader").hide();
        $('#load_more').data('val', ($('#load_more').data('val')+1));
        scroll();
      });
    };
    var scroll  = function(){
      $('html, body').animate({
        scrollTop: $('#load_more').offset().top
      }, 1000);
    };
</script>

【问题讨论】:

    标签: javascript ajax codeigniter


    【解决方案1】:

    在您的获取国家/地区功能中,您可以这样做。因此,每当您获得空结果时,就意味着没有更多可用的结果,您的按钮将被禁用。

    <script>
    
        var getcountry = function(page){
          $("#loader").show();
          $.ajax({
            url:"<?php echo base_url() ?>welcome/getCountry",
            type:'GET',
            dateType:'json', 
            data: {page:page}
          }).done(function(response){
            if(response.result == 'success') {
               $("#ajax_table").append(response.data);
               $("#loader").hide();
               $('#load_more').data('val', ($('#load_more').data('val')+1));
               scroll();
            } else {
               $("#load_more").prop('disabled',true);
            }
          });
        };
    </script>
    

    在您的控制器中进行此更改

    public function getCountry(){
      $page =  $_GET['page'];
      $this->load->model('posts_model');
      $posts = $this->posts_model->getCountry($page);
      $response = array();
      $data = '';
      if(!empty($posts)) {
        foreach($posts as $post){
          $data .= "<h3>".$post->post_title."</h3><td>".$post->post_content."
                </td>";
        } 
        $response = array('result'=>'success','data'=>$data); 
      } else {
         $response = array('result'=>'error');
      }
      echo json_encode($response)
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2015-10-13
    • 1970-01-01
    • 2023-03-23
    • 2014-06-23
    • 2016-07-16
    相关资源
    最近更新 更多