У меня есть всплывающее окно (модальное), данные в модальном окне генерируются с помощью JavaScript. Запрос ajax отправляется для получения отображаемых данных
when the enable or disable button is clicked, an ajax is sent with this info to to the back-end.
The problem I am having is when the modal closed and then reopened the click action happens twice (if you click on the enable it send the message the amount of times the popup was opened and closed).
This is some of the code that create the modal
$(document).on('click', '.availability', function() {
$('.availability_modal_table_body').empty();
var stuff = $(this).data('info').split(',');
$.ajax({
type: 'get',
url: base_url+"catalogs/"+stuff[0]+"/options",
success: function(data) {
$('.availability_modal_title').text(`Options for ${stuff[1]}`);
var string ="";
for (var i = 0; i < data.avalable.length; i++) {
string+=` $ {data.avalable [i] .name} `; if (data.avalable [i] .catalog_id == null) {string + = ` Создать Добавить `; строка + = ` Блок `; } else if (data.avalable [i] .order_id == null) {string + = ` Create Add `; string + = ` Включить `; } else {string + = ` Посмотреть бронирование `; } строка + = ""; } $ ('. availability_modal_table_body'). html (строка); $ ('# модальный_доступность'). модальный ('показать'); }});
Это код кнопки блокировки
$(document).on('click', '.ad_disable', function() {
var stuff = $(this).data('info').split(',');
$.ajax({
type: 'get',
url: base_url+`items/block/${stuff[0]}/${stuff[1]}`,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(data) {
if(data == 1){
toastr.success('Item blocked');
$(this).hide();
}else{
toastr.warning('Failed - See errors');
}
}
});
});