已加载的帖子按钮禁用

时间:2017-11-25 06:00:12

标签: javascript ajax codeigniter

如何在加载所有帖子时禁用该按钮?

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

或显示另一种方式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>

1 个答案:

答案 0 :(得分:0)

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

<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)
}