Я использую codeigniter datatable, где я хочу «отключить» определенную строку, когда нажимаю кнопку «Удалить» (данные не должны быть удалены из базы данных).
Для этого я уже установил столбец в базе данных (имя столбца: тип данных deleteflag: логическое значение по умолчанию - false).
когда я изменяю это значение с false на true в базе данных, этот конкретный идентификатор (строка tr будет отключена), который я делаю вручную в базе данных.
Я добавил класс с именем $ delstatus в кнопку удаления и назначил массив ('0' => '', '1' => 'disabled')
Все, что я хочу, это чтобы при нажатии на кнопку удаления строка идентификатора была отключена путем изменения логического значения с false на true.
Here is my Controller:
$active_info = array('0'=>'','1'=>'disabled');
foreach ($list as $lists)
{
$delstatus=$active_info[$lists->deleteflag];
$row = array();
$slno++;
$row[] = '<input type="checkbox" class="'.$delstatus.' data-check" value="'.$lists->id.'" onclick="showBottomDelete()"/>';
$row[] = $slno;
$row[] = '<a class="btn '.$delstatus.' btn-sm btn-primary" href="javascript:void(0)" title="Edit" onclick="editCase('."'".$lists->id."'".')"><i class="glyphicon glyphicon-pencil"></i> Edit</a>
<a class="btn '.$delstatus.' btn-sm btn-danger" id="btnDelete" href="javascript:void(0)" title="Delete" onclick="deleteCase('."'".$lists->id."'".')"><i class="glyphicon glyphicon-trash"></i> Delete</a>';
Here is the view for delete in ajax:
function deleteCase(id)
{
if(confirm('Are you sure delete this data?'))
{
// ajax delete data to database
$.ajax({
url : "<?php echo site_url('case/ajax_delete')?>/"+id,
type: "POST",
dataType: "JSON",
success: function(data)
{
//if success reload ajax table
$('#modal_form').modal('hide');
reloadTable();
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error deleting data');
}
});
}
}
</script>
Controller for delete:
public function ajax_delete($id)
{
$this->HomeModel->delete_by_id($id);
echo json_encode(array("status" => TRUE));
}
Model for delete:
public function delete_by_id($id)
{
$this->db->where('case_main.id',$id);
$this->db->delete('case_tracker.case_main');
$this->db->where('case_overview.id',$id);
$this->db->delete('case_tracker.case_overview');
}
Примечание: - case_tracker - это имя моей схемы (я использую postgre sql), а case_main и case_overview - это имя моей таблицы
Все, что я хочу, это чтобы при нажатии кнопки «Удалить» строка идентификатора отключалась путем изменения логического значения с «ложь» на «истину» с помощью функции codeigniter или jquery.
Пожалуйста, помогите обработать с кодом.
Заранее спасибо.