我是codeIgniter和ajax的新手。因此,我正在创建一个管理面板,管理员可以在该面板上对客户表执行crud操作,还可以使客户处于活动状态或非活动状态。当管理员单击“活动”按钮时,它将自动更改为“不活动”,并且数据库中的状态也从零更改为一,反之亦然。
在这里,我在启用无效按钮方面面临困难。由于ajax,它无法正常工作,还会引发错误。我已经附上了每个页面的链接(控制器,模型,视图,脚本以及inspect元素中带有引导程序的错误)。
Admin_controller.php
public function update_status()
{
$status = $this->input->post('status');
$id = $this->input->post('id');
$this->Admin_model->update_client_status($id,$status);
}
Admin_model.php
public function update_client_status($id,$status)
{
$data['status'] = $status;
$this->db->where('client_id', $id);
$this->db->update('client_info',$data);
}
Admin_view.php
$(document).on('click','.status_checks',function()
{
var status = ($(this).hasClass("btn-success")) ? '0' : '1';
var msg = (status=='0')? 'Deactivate' : 'Activate';
if(confirm("Are you sure to "+ msg))
{
var current_element = $(this);
var id = $(current_element).attr('data');
url = "<?php echo
site_url().'/Admin/Authorisation/update_status'?>";
$.ajax({
type:"POST",
url: url,
data: {"id":id,"status":status},
success: function(data) {
location.reload();
} });
}
});
//function
function get_data(){
$.ajax({
type: 'ajax',
url: '<?php echo site_url() ?>/Admin/Authorisation/get_data',
async: false,
dataType: 'json',
success: function(data){
var html = '';
var i;
for(i=0; i<data.length; i++){
html +='<tr>'+
'<td>'+data[i].client_id+'</td>'+
'<td>'+data[i].client_fname+'</td>'+
'<td>'+data[i].client_lname+'</td>'+
'<td>'+data[i].client_email+'</td>'+
'<td>'+data[i].client_phone+'</td>'+
'<td>'+data[i].client_country_id+'</td>'+
'<td>'+data[i].password+'</td>'+
'<td>'+'<a href="javascript:;" class="btn btn-success status_checks" data="'+data[i].status+'">Status</a>'+'</td>'+
'<td>'+
'<a href="javascript:;" class="btn btn-info item-edit" data="'+data[i].client_id+'">Edit</a>'+
'<a href="javascript:;" class="btn btn-danger item-delete" data="'+data[i].client_id+'">Delete</a>'+
'</td>'+
'</tr>';
}
$('#showdata').html(html);
},
error: function(){
alert('Could not get Data from Database');
}
});
}
});