jQuery 包含的 php 文件中的选择器不起作用

jQuery selector in included php file not working

我做了一个简单的网站来管理和显示项目。对于我的问题,知道有 3 个文件就足够了:

  1. admin-dashboard.php 显示项目和管理功能(减少数量,增加 ecc.)

<?php
 include("includes/header.php");
 include("dbqueries/db-connection.php");
 include("includes/alerts.php");
?>
...

  1. dashboard-utilities.js包含了实现第1点
  2. 的所有JavaScript函数

...
// 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();
      })
     }
 });
}
...

  1. alerts.php 将包含在操作成功时显示的所有 bootstrap 模态警报(即 "Quantity updated!")

<!-- 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">&times;</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>
...

所以问题是 reduceQuantity 函数的 "success" 部分不起作用。特别是模态不显示。

我认为 jQuery 找不到它的选择器,因为它在包含的文件中 (alerts.php)。我认为是这样,因为如果我将警报代码直接放入主文件 admin-dashboard.php 一切正常。

提前致谢!

...问题与服务器有关。文件 alerts.php 没有正确的权限和正确的所有者。当你说它可能没有真正包含时,我注意到了它。

抱歉浪费大家的时间,谢谢大家!

听起来 reduceQuantity() 函数找不到模态元素,因为在解析 HTML 元素之前函数是 运行。这可能是因为您需要将 JQuery 包装在 $(document).ready(function(){}) 中,或者您需要在 admin-dashboard.php 文件的末尾包含 Javascript(在结束 </body> 标签),然后将 alerts.php 放在顶部,以便在 Javascript 运行之前对其进行解析。您可能需要做这两件事。