Status Active / Inactive Toggle Link

Status active & inactive toggle link using ajax.

In admin view file:




  <script language="javascript" type="text/javascript">

    function updatestatus(id) {

        $.ajax({

            url: "<?=$this->createUrl("updatestatus");?>/"+id,

        }).done(function (data) {

            $.fn.yiiGridView.update("posts-grid");

        });

    }

  </script>


   array(

                    'name'=>'is_enable',

                    'type' => 'raw',

                    'value' => '$data->displayStatus($data->is_enable)',

   ),



In controller:




   public function actionUpdatestatus($id){

         $model = $this->loadModel($id);

     

         if($model->is_enable=="Y"){

             $model->is_enable = "N";

         } else {

             $model->is_enable = "Y";

         }

         $model->save();



In model:




   public function displayStatus($is_enable) {

        if ($is_enable == "Y") {

            $status = CHtml::link(' Active', "javascript:;", array("onclick" => "updatestatus('" . $this-> id . "')")

            );

            return $status;

        } else {

            $status =CHtml::link(' Inactive', "javascript:;", array("onclick" => "updatestatus('" . $this-> id . "')")

            );

            return $status;

        }

    }