首页 > 解决方案 > 只有第一行被删除,而其他数据没有

问题描述

当我点击第一行的删除模式时,模式弹出并且数据被删除。如果我单击第一行以外的行,则会将错误显示为 id undefined。

控制器:

public function project_show(){
    $this->load->view('project_show',$data);//page where delete button is present
    $this->load->view('project_del');//modal page which opens on delete button
 }

public function delete_get_id($pcode){
    if($this->input->post('deleteproj'))
    {
        $this->project_model->delete_project($pcode);
    }
}

阿贾克斯:

$('#deletebutton').click(function(){
  var pcode = $(this).data('id');
  $('#deleteproject').data('id', pcode); 
});

$('#deleteproject').click(function(){
  var pcode = $(this).data('id');
  $('#deletemodal').modal('hide');
  $('body').removeClass('modal-open');
  $('.modal-backdrop').remove();
  console.log(pcode);
  $.ajax({
    type: "POST",
    url: "<?php echo base_url(); ?>" + "index.php/project/delete_get_id/"+ pcode,
    data: {
      pcode: pcode,
      deleteproj: 1,
    },
    success: function (data) {
      $("#deletemodal").modal('hide');
      showproject();
    }
  });
});

查看按钮页面:

<button id="deletebutton" class="btn btn-danger btn-xs" data-toggle="modal" data-target="#deletemodal" data-id="<?php echo $row->project_code;?>"><span class = "fa fa-trash-o"></span> Delete</button>

查看模态页面:

<div class="modal fade bs-example-modal-sm" id="deletemodal" ...>
    .....
    <button class="btn btn-danger btn delete" id="deleteproject"><span class="glyphicon glyphicon-trash"></span>Delete</button>

我将如何将 id 和“data-target”标签从按钮所在的页面传递到模式页面,以便删除特定的行

标签: phphtmlajaxcodeigniter

解决方案


请注意,ID 选择器在 HTML 文档中应该是唯一的。jQuery期望这是真的。因此,您应该为删除按钮使用类名,而不是使用 ID

$('.deletebutton').click(function(){
  var pcode = $(this).data('id');
  $('#deleteproject').data('id', pcode); 
});

//...
<button
  class="deletebutton btn btn-danger btn-xs"
  data-toggle="modal"
  data-target="#deletemodal"
  data-id="<?php echo $row->project_code;?>"
>
  <span class = "fa fa-trash-o"></span> Delete
</button>

假设您的showproject()功能不会意外删除/重新创建您的#deleteproject按钮,那么事情应该适合您。


推荐阅读