удаляется только первая строка, а остальные данные - нет - PullRequest
1 голос
/ 30 сентября 2019

Когда я нажимаю на модал удаления первой строки, появляется модал, и данные удаляются. Если я нажимаю на строку, отличную от первой, она отображает ошибку с неопределенным идентификатором.

Контроллер:

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);
    }
}

ajax:

$('#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>

Как передать идентификатор вместе с тегом «data-target» со страницы, где кнопка присутствует, на модальной странице, чтобычто конкретная строка удаляется

1 Ответ

0 голосов
/ 30 сентября 2019

Обратите внимание, что Селектор идентификатора должен быть уникальным в HTML-документе. И jQuery ожидает, что это правда . Поэтому вместо использования идентификатора вы должны использовать имя класса для кнопки удаления

$('.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, все должно работать длявы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...