Похоже, что мой простой переключатель свойства не хочет работать правильно, моя функция выглядит следующим образом:
$('#enable_payment').click(function (e) {
e.preventDefault();
var form = $('.payment-system-form');
if(form.hasClass('show-fees')){
swal({
title: "Are you sure?",
text: "Transactions made outside........",
type: "error",
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes!",
showCancelButton: true
}, function() {
//on okay
$("input[name='enable_payment']")[0].checked = false;
form.removeClass('show-fees');
}, function() {
//on cancel
});
} else {
$("input[name='enable_payment']")[0].checked = true;
form.addClass('show-fees');
}
});
Изначально при загрузке страницы $("input[name='enable_payment']")[0].checked
устанавливается на true
, как, например, <input type='checkbox' name='enable_payment' checked>
Затем я хотел добавить предупреждение после того, как его собирались отключить, к которому мне нужно было добавить e.preventDefault()
, как только я добавил это, я больше не мог переключать свойство checked
?
Я пытался сделать оба
$("input[name='enable_payment']").prop('checked', true);
$("input[name='enable_payment']").prop('checked');
Но если я запусту $("input[name='enable_payment']").prop('checked', true);
в моем инструменте разработчика Google Chrome, он будет работать как положено?
В общем, моя проблема в том, что $("input[name='enable_payment']").checked
всегда остается ложным и не может быть выполнен true снова, как только я нажму окей на моей swal()
функции
Вот jsFiddle: https://jsfiddle.net/vcz48umx/