在提交新输入时更新 DIV,其中包含 php 生成的 <ul> 代码

Update DIV that contains php-generated <ul> code when new inputs submitted

编辑:我对子 PHP 文件中的一些嵌套包含文件进行了一些代码检查,发现与父 PHP 包含文件存在一些冲突。影响是子项 PHP file/calling div 依赖于正在刷新的父项,因此如果不刷新整个页面我就无法刷新特定的 div 。在我开始这项工作之前,我有一些 PHP restructuring/decoupling 工作要做,所以在我完成这项工作之前,请不要在这个问题上投入精力。干杯。

编辑 2:我发现了问题。我使用的某些 js 在 运行 时无法重新执行,因此关联的 DIV 不会重建。我使用 .load() 编写的内容工作正常。我将实现从可重新加载的 DIV 移至 iframe 解决方案,直到我可以解决 js 问题。干杯。


上下文如下:

Fancybox 附件和设置:

$('[data-fancybox]').fancybox({
toolbar  : false,
smallBtn : true,
afterClose: function () {parent.location.reload(true);}

HTML 标记:

<div id="ytgrid">
   <?php include("grid.php"); ?>
</div>

grid.php 构建网格的代码:

    <ul data-category-name="Main">

            <!--==============================================================>
            <     PHP populate grid from database                       >
            <===============================================================-->

            <?php

            for ($i=0;$i<sizeof($LinkCol1);$i++){

                echo "$LinkCol1[$i]";
                echo "<li data-url='$LinkCol1[$i]'
                        data-width='900' data-height='506'
                        data-extra-button-url='https://www.webdesign-flash.ro'
                        data-extra-button-target='_blank'><img src='$LinkCol2[$i]' alt='$user_name on x10host.com/' />
                        <div data-thumbnail-content1=''>
                            <div class='extraContent1'
                                style='font-weight: 400; line-height: 25px;'>$youtubeLinkCol3[$i]</div>
                                </div>
                        </li>";

            }

            ?>

     </ul>

我认为问题在于如何重新加载 php 设置文件,它将用最新的数据库条目填充数组变量,然后刷新 ytgrid DIV 以重建包含任何新条目的网格。

很多事情都在这里进行。我希望你能帮忙。请带着问题开火。谢谢

如果用户在此页面输入新信息,您可以在输入新信息时设置回调,并通过 ajax 请求获取新数据。

$.ajax({
  url: "ajax-listener.php",
  cache: false
})
.done(function( html ) {
    $( "#results" ).html( html );
});

在此之前,您应该创建 ajax 端点(php 文件),它将向您的数据库发送请求。

我在动态加载 DIV 时遇到的问题是由于某些 js s/w 需要完整的页面加载并且不会在运行时重新执行。我需要修复它,但它与已解决的问题无关。