Я сделал простой веб-сайт для управления и отображения элементов. Для моей проблемы достаточно знать, что есть 3 файла:
admin-dashboard.php
, которые отображают элементы и функции администратора (уменьшить количество, увеличить e cc.)
<?php
include("includes/header.php");
include("dbqueries/db-connection.php");
include("includes/alerts.php");
?>
...
dashboard-utilities.js
, который содержит все функции JavaScript для реализации пункта 1
...
// Reduce quantity button script
function reduceQuantity(item) {
$.ajax({
method: 'get',
url: '../dbqueries/reduceQuantity.php',
data: {
'current_item': item,
},
success: function() {
//alert("Quantità di " + "\"" + item + "\"" + " diminuita!");
$('#reduceqty-modal').modal('show');
// Reload page after closing the modal alert
$('#reduceqty-modal').on('hidden.bs.modal', function () {
window.location.reload();
})
}
});
}
...
alerts.php
, который будет содержать все модальные оповещения bootstrap для отображения при успешном выполнении операции (т. Е. "Количество обновлено!")
<!-- Reduce quantity modal -->
<div id="reduceqty-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Quantità ridotta</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Modal body text goes here.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary">Save changes</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
...
Таким образом, проблема в том, что часть "success" функции reduceQuantity
не работает. В частности модал не отображается.
Я предположил, что jQuery не может найти его селектор, потому что он находится во включенном файле (alerts.php
). Я так думаю, потому что, если я помещаю код оповещения прямо в основной файл admin-dashboard.php
, все работает.
Заранее спасибо!