我需要让我的index.php从home.php加载一些内容。 在index.php中,有一个div class =“content”,其中包含一个对话框(用于用户登录)。 在home.php中,还有一个div class =“content”,它包含一些p和表(通过查询数据库动态创建表)。 当用户点击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-->
答案 0 :(得分:0)
我看到的一个主要问题是具有相同的“ID”并不符合标准。 将一个div从“content”更改为其他内容。
答案 1 :(得分:0)
如上所述,此示例在本地运行时有效。
在加载home.php文件后,父div保留id = first。你没有先附加任何css并在此过程中隐藏它吗?
我能够重现你正在解释的行为的唯一方法是从home.php div中删除class ='content',导致jquery选择器不能正确找到div。然后它用任何东西替换id ='first'div。
如果您将jquery选择器更改为:
$( “内容 ”)的负载(“ home.php”);
这会加载内容吗?我意识到这将创建一个嵌套的div与class ='content',这不是你想要的。只是想看看是否尝试让表格显示或不显示。
这有点棘手,因为你的例子似乎对我有用。您还可以提供其他详细信息吗? jQuery版本等?