在数据库中插入已选中的复选框值,未选中时将其删除

时间:2018-08-21 14:40:26

标签: jquery codeigniter

我试图在我的项目中应用此目的,我有一个表,该表显示表中的复选框值。我的目标是将检查后的值插入到另一个表中,并在我从该表中取消选中它时将其删除。

我这样插入:

1-表

 <table>

foreach($result as $row)
{
 <tr>
<td><?=$row->name?></td>
<td><input type='checkbox' class="check-lab" value="   
<?=$row->id?>"  /></td>
</tr>
<?php } ?>
</table>

2- JQUERY

$('.check-lab').change(function() {
if ($(this).is(':checked')) {
var labCheckded= $(this).val();
var deleteLab= 1;
}

else {
var deleteLab= 0;

}

$.ajax({
type:'POST',
url:'<?=base_url('admin_medico/SaveLab')?>',
data: {labCheckded:labCheckded,deleteLab:deleteLab},
success:function(data) {

},

});

})

3-控制器

public function SaveLab(){

$save = array(
  'laboratory'  => $this->input->post('labCheckded')
 );
$this->model_admin->SaveLab($save);

}

在检查之后,正确插入了一些值。如果取消选中此值,如何删除(删除)它?

1 个答案:

答案 0 :(得分:1)

您的代码已经很好,您只需要创建一个新模型和控制器即可删除该项目。
示例:

在您的jQuery中,执行以下操作:

    $('.check-lab').change(function() {

    var labCheckded= $(this).val();

    if ($(this).is(':checked')) {
    var deleteLab= 1;
    $.ajax({
    type:'POST',
    url:'<?=base_url('admin_medico/SaveLab')?>',
    data: {labCheckded:labCheckded,deleteLab:deleteLab},
    success:function(data) {
    },
    });
    } 

    else {
    var deleteLab= 0;
    $.ajax({
    type:'POST',
    url:'<?=base_url('admin_medico/DeleteLab')?>',
    data: {labCheckded:labCheckded,deleteLab:deleteLab},
    success:function(data) {
    },
    });
    }

    });

在您的控制器中,您可以拥有

public function DeleteLab(){
$delete = array(
  'laboratory'  => $this->input->post('labCheckded')
 );
$this->model_admin->DeleteLab($delete);
}

在模型中,您可以具有功能

public function DeleteLab($delete){
    $this->db->where('column_name', $delete['laboratory']); //assuming $delete['laboratory'] is a proper key
    $this->db->delete('table_name');
}