0

我需要让我的 index.php 从 home.php 加载一些内容。在 index.php 中,有一个 div class="content" 包含一个对话框(用于用户登录)。在 home.php 中,还有一个 div class="content",其中包含一些 p 和表(表是使用 php 通过查询数据库动态创建的)。当用户点击 index.php 上的提交时,我想用 home.php 中的相同 div(包括所有表等)替换 div class="content" 的内容。问题是当我加载新的 div 时,我丢失了我需要的所有嵌套 div(包括 php 创建的行和列)。任何帮助将不胜感激。提前致谢。

这是 index.php 中的 html:

<div class="content" id="first">
        <div id="login">
            <p>Username:
                <input type="text" id="loginName" Required>
            </p>
            <p>Password:
                <input type="password" id="loginPass" Required>
            </p>
            <span id="loginError">Please enter a username AND password</span>

        </div>
</div><!--content=first-->

来自 index.php 的 jquery:

$("#regButton").on('click',function(){
     $(".content").load("home.php .content >*");
});

来自 home.php 的 html:

<div class="content" id="home">
    <div id="left">
        <div id="top">
        </div>
        <div id="bottom">
            <h2>Grades</h2>
        </div>
    </div>
    <div id="center">
        <h2>My Schedule</h2>
        <table>
                <tr>
                <td>Course ID</td>
                <td>Course Name</td>
            </tr>

            <?php
            echo "<tr>";
            echo "<td>" . $row['courseDept']. $row['courseNumber']. " - ". $row['courseSection']."</td>";
            echo "<td>" . $row['courseName']."</td>";
            echo "</tr>";               
            ?>
        </table>
    </div>
</div><!--content#home-->
4

2 回答 2

0

我看到的主要问题之一是具有相同的“ID”不符合标准。将一个 div 从“内容”更改为其他内容。

于 2013-11-12T02:51:10.063 回答
0

如上所述,此示例在我本地运行时有效。

加载 home.php 文件后,父 div 保留 id=first 。您没有先附加任何 CSS 并在此过程中隐藏它,是吗?

我可以重现您正在解释的行为的唯一方法是从 home.php div 中删除 class='content',导致 jquery 选择器无法正确定位 div。然后它将 id='first' div 替换为空。

如果您将 jquery 选择器更改为:

$(".content").load("home.php");

这会加载内容吗?我意识到这将创建一组嵌套的 div,其中 class='content',这不是你想要的。只是询问是否尝试显示表格。

提供帮助有点棘手,因为您的示例似乎对我有用。你还有其他细节可以提供吗?jQuery版本等?

于 2013-11-12T03:21:26.110 回答