Получение идентификатора элемента Sweet Alert

Я пытаюсь использовать сладкое предупреждение в качестве диалогового окна для подтверждения удаления записи в таблице. В каждой строке таблицы есть столбец с кнопкой, которая открывает диалоговое окно подтверждения «Sweet Alert».

Код моей таблицы следующий:

<tr>
    <!-- Other Table Colums -->
    <td>
    <button userid="<?php echo $row['id']; ?>" id="<?php echo('bn_delete_' . $row['id']); ?>" class="btn btn-danger btn-xs warning-message-parameter">Delete</button>
    <td>
 </tr>

Код моего приятного диалогового окна с предупреждениями:

swal({   title: "Are you sure?",   
         text: "You will not be able to recover this imaginary file!", 
         type: "warning",   showCancelButton: true,   confirmButtonColor: "#DD6B55",   
         confirmButtonText: "Yes, delete it!",   
         closeOnConfirm: false }, 
         function(){   
               swal("Deleted!", "Your imaginary file has been deleted.", "success"); });

Когда пользователь нажимает «Да» в диалоговом окне, я хочу получить идентификатор кнопки, которую пользователь только что нажал. Таким образом я смогу получить значение идентификатора пользователя атрибута, которое затем смогу использовать для удаления записи из базы данных.


person Meru-kun    schedule 21.02.2016    source источник


Ответы (1)


Вы можете получить идентификатор нажатой кнопки, получив его при нажатии кнопки и передав его в качестве параметра обратному вызову плагина.
Взгляните на следующую реализацию:

$('#openSwal').on('click', function(e) {

  var id = $(e.currentTarget).attr("id"); 
  var userId = $(e.currentTarget).data("user-id"); 

  var region = "myregion";

  swal({
    html: true,
    title: '' + region,
    showCancelButton: true,
    showConfirmButton: true,
    confirmButtonText: "save", 
    text: "<span onclick='save()'>l</span>"

  }, function() { 
    save(id, userId);
  });

});

function save(id, userId) {
  console.log(id);
  console.log(userId); 
}

http://jsfiddle.net/jwsho9L9/4/

person html_programmer    schedule 21.02.2016