2012-09-06 42 views
-2

我有三个菜单(ADD,EDIT,DELETE)和许多带有复选框的项目。我检查了一些复选框,然后当我点击删除时,我想删除所有选中的项目。我只是不知道如何检测与codeigniter检查哪个复选框。有人有主意吗?Codeigniter:点击一个链接,然后从选中的复选框中获取值并传递给控制器​​

+0

我把所有的checkboxs的形式与一个提交按钮。这很好。但我需要两个提交按钮编辑和删除来编辑和删除多个项目,只是不知道该怎么做。 – selak

+0

可能的重复: http://stackoverflow.com/questions/10975819/jquery-delete-id-from-element-with-ajax-of-a-database-and-refresh/10976778#10976778 –

回答

0

将所有表单中的复选框元素然后给DELETE作为一个提交按钮,然后在你的contrller

public function delete() 
{ 
    $for_delete = $this->input->post('checkbox');//Hope that your all checkbox names are array of checkbox[]; 
    $for_delete = implode(',',$for_delete); 
    $this->model_to_delete->delete($for_delete); 
} 
模型中的

全部删除其ID是那里的for_delete阵列中()中的记录

+0

如果我的DELETE是一个提交按钮什么关于我的编辑,删除和编辑有类似的行为,多编辑和多个删除。 – selak

+0

你可以编辑单行或一次录制正确的... ??所以不需要应用复选框编辑,它将是行明智本身。而且,编辑,DELETE可以是提交按钮,因为表单可以有多个提交纽扣 – Gautam3164

2

您可以使用jQuery来获取当前选择的项目是这样的:

var values = $('input:checkbox:checked.class_you_like').map(function() 
{ 
    return this.value; 
}).get(); 

在这之后,你可以张贴值与阿贾克斯CI:

$.ajax(
{ 
     type: 'post', 
     url: '/dummy/delete', 
     data:{ids: values} 
}); 

然后在CI/PHP

function delete() 
{ 
    $ids = $this->input->post('ids'); 

    // !this should be done in a model 
    $this->db->where_in('id_column', $ids); 
    $this->db->delete('your_table'); 
} 
相关问题