подсластитель удалить ();на подтверждении - PullRequest
0 голосов
/ 30 мая 2018

Я хочу запустить функцию удаления на всех checked .select-input, когда нажата кнопка .delete и нажата confirmButton.

$(".delete").click(function() {
  swal({
    title: "Are you sure?",
    text: "You will not be able to recover this lorem ipsum!",
    type: "warning",
    showCancelButton: true,
    confirmButtonColor: "#DD6B55",
    confirmButtonText: "Yes, delete it!",
    closeOnConfirm: false
  }).then(result => {
    if (result.value) {
      swal("Deleted!", "Your file has been deleted.", "success"),
        function(event) {
          event.preventDefault();
          $(".post-list")
            .find(".select-input:checked")
            .closest(".item")
            .remove();
        };
    } else if (
      // Read more about handling dismissals
      result.dismiss === swal.DismissReason.cancel
    ) {
      swal("Cancelled", "Your imaginary file is safe :)", "error");
    }
  });
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.21.1/sweetalert2.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.21.1/sweetalert2.min.js"></script>
<button class="delete">delete</button>
<div class="post-list">
  <div class="item">
    <label>
<input id="post-select1" type="checkbox" class="select-input" name="select-check">
</label> 1
  </div>
  <div class="item">
    <label>
<input id="item2" type="checkbox" class="select-input" name="select-check">
</label> 2
  </div>
</div>

1 Ответ

0 голосов
/ 30 мая 2018

Сначала удалите closeOnConfirm (это перемещено в удаление кнопки, проверьте это; https://sweetalert.js.org/docs/#buttons).Используйте функцию swall.closeModal (); для этого параметра.

Second;для проверки значения результата используйте только результат .Также я предпочитаю использовать result == true .Я думаю, это лучше, чем только результат .

Надеюсь, это поможет вам ...

$(".delete").click(function() {
  swal({
    title: "Are you sure?",
    text: "You will not be able to recover this lorem ipsum!",
    type: "warning",
    showCancelButton: true,
    confirmButtonColor: "#DD6B55",
    confirmButtonText: "Yes, delete it!",
  }).then(result => {
    swal("Deleted!", "Your file has been deleted.", "success");
    if (result.value) {
      $(".post-list")
      .find(".select-input:checked")
      .closest(".item")
      .remove();
    } else if (
      // Read more about handling dismissals
      result.dismiss === swal.DismissReason.cancel
    ) {
      swal("Cancelled", "Your imaginary file is safe :)", "error");
    }
    swall.closeModal();
  });
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.21.1/sweetalert2.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.21.1/sweetalert2.min.js"></script>
<button class="delete">delete</button>
<div class="post-list">
  <div class="item">
    <label>
<input id="post-select1" type="checkbox" class="select-input" name="select-check">
</label> 1
  </div>
  <div class="item">
    <label>
<input id="item2" type="checkbox" class="select-input" name="select-check">
</label> 2
  </div>
</div>
...