如何改变';用户的活动/非活动状态';通过ajax?

如何改变';用户的活动/非活动状态';通过ajax?,ajax,codeigniter,Ajax,Codeigniter,我通过codeigniter中的AJAX在datatable中显示基于2个参数的用户列表。我想更改数据库中用户的状态并在表中显示。我有3个状态0->inactive,1->active,-1->left。我想在不重新加载页面的情况下更改datatable中的状态和显示 我已尝试更改状态,但状态仅更改一次。在第一次AJAX调用之后,当我再次更改状态时,没有任何更改 //view <script> $(document).ready(function() {

我通过codeigniter中的AJAX在datatable中显示基于2个参数的用户列表。我想更改数据库中用户的状态并在表中显示。我有3个状态0->inactive,1->active,-1->left。我想在不重新加载页面的情况下更改datatable中的状态和显示

我已尝试更改状态,但状态仅更改一次。在第一次AJAX调用之后,当我再次更改状态时,没有任何更改

//view

    <script>
    $(document).ready(function()
    {
    $('#academicTable_wrapper').hide();
    $('#studentTable').DataTable();
    showStudents();
    function showStudents()
    {
        $('#submitBtn').on('click',function(){
            var courseId = $('#courseId').val();
      var classId = $('#classId').val();
      $.ajax({
                type  : 'POST',
                url   : "<?php echo base_url();?>Student/getStudentsList",
                // async : true,
                data  : {courseId:courseId,classId:classId},
                dataType : 'json',
                success : function(data){
                  //alert(data);
                    var html = '';
                    var i;

                    for(i=0; i<data.length; i++){
                       var studentId = data[i].studentId;

                        if(data[i].status == 1)
                          var status = "Approved";
                        else if(data[i].status == 0)
                          var status = "Pending";
                        else
                          var status = "Left";
                        html += '<tr>'+
                                '<td>'+data[i].studentId+'</td>'+
                                '<td>'+data[i].studentName+'</td>'+
                                '<td>'+data[i].studentPhoneNum+'</td>'+
                                '<td>'+data[i].created_on+'</td>'+
                                '<td id="changeStatus">'+status+'</td>'+
                                '<td>'+

                      '<a href="'+'viewStudentProfile/'+studentId+'/'+classId+'/'+courseId+'/'+data[i].programId+'" class="btn btn-secondary btn-sm text-white">View</a>'+
                      ' '+
                      '<a id="activateBtn" data-id="'+data[i].id+'" data-status="'+data[i].status+'" class="btn btn-primary btn-sm text-white">Activate/Deactivate</a>'+
                      ' '+
                      '<a href="javascript:void(0);" class="btn btn-danger btn-sm item_delete">Delete</a>'+
                                '</td>'+
                                '</tr>';
                    }
                    $('#studentTable').DataTable().destroy();
                    $('#showData').html(html);
                    $('#studentTable').DataTable();
                    $('#academicTable_wrapper').show();
                }

            });        
      });
    }



    $(document).on('click','#activateBtn',function()
    {
      var id = $(this).data('id');
      var status = $(this).data('status');
      $.ajax({

        method: 'POST',
        url: "<?php echo base_url();?>Student/approveStudent",
        data:{id:id,status:status},
        success : function(data)
        {
          alert(data);
          $('#changeStatus').text('');
          if(data == 0)
          {
            showStudents();
            $('#changeStatus').html('Inactive');  
          }
          else{
            showStudents();
            $('#changeStatus').html('Approv');  
          }
        },
        error:function(data)
        {
          console.log(data);
        }
      },1000);

    });

  });
</script>


    //controller

    function approveStudent()
    {
        $id = $this->input->post('id');
        $status = $this->input->post('status');
        $col = 'id';
        $query = $this->Admin_model->activate($col,$id,$status,$this->studentDetail);

        if($query){

            $result = $this->Admin_model->getData($col,$id,$this->studentDetail);
        } 

         $status   = 1; 
         if ($result[0]->status == 0)
         {
            $status = 0;
         } 
         echo $status;

       }
//查看
$(文档).ready(函数()
{
$(“#academicTable_包装器”).hide();
$('#studentTable').DataTable();
showStudents();
函数showStudents()
{
$(#submitBtn')。在('click',function()上{
var courseId=$('#courseId').val();
var classId=$('#classId').val();
$.ajax({
键入:“POST”,
url:“学生/getStudentsList”,
//async:true,
数据:{courseId:courseId,classId:classId},
数据类型:“json”,
成功:功能(数据){
//警报(数据);
var html='';
var i;

对于(i=0;i请同时更改
数据状态
,因为这是您在
#activateBtn
函数中使用的。在第一次ajax调用后,它不会重定向到url,也不会获取新数据。请说明原因。