使用AJAX在Codeigniter中使用Onclick更新数据库

时间:2016-05-27 11:12:06

标签: javascript php jquery ajax codeigniter

当我点击View文件中的按钮时,我想在数据库中更新。

查看

<tbody>
    <?php
    foreach($leavelist->result() as $key){
    echo '<tr>
    <td>'.$key->emp_id.'</td>
    <td>'.$key->status.'</td>
    <td><a id="a'.$key->emp_id.'" onclick="Approved(\''.$key->id.'\')" title="Approve" role="button" class="btn btn-sm btn-success" data-toggle="modal" success><i class="fa fa-check"></i></a></td>
    </tr>';
    }
?> 
</tbody>


<script>
function Approved(id){

    butId = $(this).attr('id');

    $.ajax({
          method: "POST",
          url: "<?php echo $this->config->item("index_url")."Admin/ApproveLeave";?>",
          data: { "rowid": butId },
          dataType:"text",
          success:function(data){
              alert(data);
          },
          error:function (data){
              alert("failed");
          }
        });

}
</script>

CONTROLLER

public function ApproveLeave(){
        $this->load->database();
        $this->load->model('general_model','gm');
        $inputdata=array('status'=>'Approved');
        $params=array('table_name'=>'leave_application','primary_key'=>'id');
        $this->gm->initialize($params);
        $this->gm->updateEntry($_POST['rowid'],$inputdata); 
    }

以上是我的AJAX和控制器代码。当我单击按钮时,它显示未定义的索引。任何人都可以帮助我,我在这里错了。

1 个答案:

答案 0 :(得分:0)

根据我的理解,我认为你没有正确地获得butId

试试这个:

 <tbody>
    <?php
    foreach($leavelist->result() as $key){
    echo '<tr>
    <td>'.$key->emp_id.'</td>
    <td>'.$key->status.'</td>
    <td><a id="a'.$key->emp_id.'" onclick="Approved(a'.$key->emp_id.')" title="Approve" role="button" class="btn btn-sm btn-success" data-toggle="modal" success><i class="fa fa-check"></i></a></td>
    </tr>';
    }
?> 
</tbody>


<script>
function Approved(butId){


    $.ajax({
          method: "POST",
          url: "<?php echo $this->config->item("index_url")."Admin/ApproveLeave";?>",
          data: { rowid: butId },
          dataType:"text",
          success:function(data){
              alert(data);
          },
          error:function (data){
              alert("failed");
          }
        });

}
</script>