Php .html()函数,该函数只处理第一个元素
我正在开发一个系统,以便与我的合作伙伴使用wordpress和php完成分配给我们的任务。我们已经做了一些工作,但有一个问题我有麻烦 每当我在ajax中使用.html()函数时,只有选项卡的第一个元素获得我得到的查询结果 这是我的密码: index.phpPhp .html()函数,该函数只处理第一个元素,php,jquery,html,mysql,ajax,Php,Jquery,Html,Mysql,Ajax,我正在开发一个系统,以便与我的合作伙伴使用wordpress和php完成分配给我们的任务。我们已经做了一些工作,但有一个问题我有麻烦 每当我在ajax中使用.html()函数时,只有选项卡的第一个元素获得我得到的查询结果 这是我的密码: index.php <?php get_header(); ?> <body> <!--- START HEADER --> <he
<?php get_header(); ?>
<body>
<!--- START HEADER -->
<header>
<div class="wrapper">
<h1 id="logo">Logo</h1>
<nav>
<ul>
<li><a href="">Home</a></li>
<li><a href="#" id="myBtn">Create Team</a></li>
<li><a href="">Metrics</a></li>
<li><a href="">About Us</a></li>
</ul>
</nav>
</div>
</header>
<!--- END HEADER -->
<!--- START MAIN CONTENT -->
<div class="wrapper">
<div id="teamholder">
<!--- ACCORDION HTML -->
<!--- END OF ACCORDION HTML -->
</div>
<div id="profileholder">
</div>
<div id="randomdiv">
</div>
</div>
正如您所看到的,我试图将employee表的所有数据显示到responsive accordion的每个选项卡上,并根据该选项卡为team表中的每个条目生成一个新选项卡。我不明白的是,为什么只有第一个选项卡包含employee表中的数据列表
任何回复都将不胜感激,谢谢
我还将此指南用作teams和members.php的参考
取而代之的是$(“#团队负责人”).html(d);使用:
而不是$(“#会员持有人”).html(d);:
什么是“标签”?如果是
,则表示您正在使用ID团队负责人(以及其他人)两次。ID在文档中必须是唯一的。另外,我注意到,您从教程中复制了async:false
,这在本例中是毫无意义的,而且是不好的做法。我真的不推荐这个教程。我不好,我所说的tab是指手风琴的选项卡,当你点击它时,它会与员工列表一起下拉,在本例中是teams.php文件中的。如果我删除脚本中的async:false,手风琴就不会掉下来,但我不知道是什么原因造成的。你不需要
。each()
循环如果你将它们都设置为具有相同的值,你可以说$(“[id=teamholder]”)。html(d)
,但无论如何,这仍然不理想,因为重复ID是无效的HTML-最好切换到使用公共类。@nnnnnnnn是的,我同意它没有优化,但我们还需要考虑人的级别,谁将使用它。最好在提供的代码中显示未优化但易于理解和实现的内容。
<?php
// Display members from database
$connect = mysqli_connect('localhost', 'root', '', 'chansandbox');
if(isset($_POST['display'])){
$team = "SELECT * FROM team";
$resultTeam = mysqli_query($connect, $team);
while($arrayTeam = mysqli_fetch_array($resultTeam)){
?>
<ul class="teams">
<li><a href="#"><i class="fa fa-cog"></i><?php echo $arrayTeam['team_name']; ?></a>
<ul class="menu">
<li id="memberholder">
</li>
</ul>
</li>
</ul>
<?php
}
exit();
mysqli_close($connect);
}
<?php
// Display members from database
$connect = mysqli_connect('localhost', 'root', '', 'chansandbox');
if(isset($_POST['display'])){
/*
$numTeams = "SELECT count(*) AS 'number' FROM team";
$resultNumTeams = mysqli_query($connect, $numTeams);
$arrayNumTeams = mysqli_fetch_array($resultNumTeams);
for($i=$arrayNumTeams['number'];)
*/
$member = "SELECT * FROM employee";
$resultMember = mysqli_query($connect, $member);
while($arrayMember = mysqli_fetch_array($resultMember)){
?>
<h1><?php echo $arrayMember['emp_fname'] . " " . $arrayMember['emp_lname']; ?></h1>
<?php
}
exit();
mysqli_close($connect);
}
//------------- ACCORDION DISPLAY DATA ------------//
function displayTeamFromDatabase($){
$.ajax({
url: "http://localhost:81/chansandbox/wp-content/themes/Skeleton/teams.php",
method: "POST",
async: false,
data: {
"display": 1
},
success: function(d){
$("#teamholder").html(d);
}
});
}
function displayMemberFromDatabase($){
$.ajax({
url: "http://localhost:81/chansandbox/wp-content/themes/Skeleton/members.php",
method: "POST",
async: false,
data: {
"display": 1
},
success: function(d){
$("#memberholder").html(d);
}
});
}
$("[id=teamholder]").each(function(){
$(this).html(d);
});
$("[id=memberholder]").each(function(){
$(this).html(d);
});