【发布时间】:2020-11-25 16:14:39
【问题描述】:
我使用preConfirm 仅在输入与值匹配时关闭弹出窗口(确认用户体验)。问题是,如果我输入不匹配的输入并按下删除,按钮将被禁用。
如何设置preConfirm,以便在输入错误后不会禁用按钮?
$(".admin__list").on("click", ".btn--remove", function(e) {
var $btn = $(this);
swal({
title: "Remove User?",
text: "Are you sure you want to delete and remove all permissions for this user?",
confirmButtonText: "Remove",
confirmButtonColor: "#f27474",
cancelButtonColor: "#d33",
reverseButtons: true,
showCancelButton: true,
html: ' <b class="sweet__code">1234</b>' +
'<input type="text" class="sweet__input"></>' +
'<dive class="sweet__error">Error!</>',
preConfirm: function() {
return new Promise(function(resolve) {
var sweetCode = $(".sweet__code").html();
if ($(".sweet__input").val() == sweetCode) {
$btn.closest(".admin__item").remove();
resolve();
} else if ($(".sweet__input").val() !== sweetCode) {
$(".sweet__error").show();
}
});
}
}).then((result) => {
if (result.value) {}
});
});
.sweet__error {
display: none
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.2.0/sweetalert2.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.2.0/sweetalert2.all.min.js"></script>
<div class="admin__list">
<div class="admin__item">
<button type="button" class="btn btn--remove">Delete</button>
</div>
<div class="admin__item">
<button type="button" class="btn btn--remove">Delete</button>
</div>
</div>
【问题讨论】:
标签: jquery sweetalert2