Javascript 加载仅在while循环的第一个结果中显示的图像
在while循环中,无论从哪个结果中单击哪个按钮,加载显示在第一个结果按钮下方的图像。例如,如果我在第一个结果上单击submit按钮,加载图像将显示在其下方。没关系。但是,当我单击除第一个结果外的任何其他结果的提交按钮时,加载图像仅显示在第一个结果下方,而不显示在该特定结果的提交按钮下方Javascript 加载仅在while循环的第一个结果中显示的图像,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,在while循环中,无论从哪个结果中单击哪个按钮,加载显示在第一个结果按钮下方的图像。例如,如果我在第一个结果上单击submit按钮,加载图像将显示在其下方。没关系。但是,当我单击除第一个结果外的任何其他结果的提交按钮时,加载图像仅显示在第一个结果下方,而不显示在该特定结果的提交按钮下方 <?php while($a = $stmt->fetch()){ ?> <form method="post" action=""> <input
<?php while($a = $stmt->fetch()){ ?>
<form method="post" action="">
<input type="hidden" value="<?php echo $mbs_id; ?>" class="memid">
<select class="validity" class="upgrade-valsel">
<?php while($mv = $mval->fetch()){ extract($mv); ?>
<option value="<?php echo $mv_id; ?>"><?php echo $mv_validity; if($mv_validity == 1){ echo " month"; }else{ echo " months"; } ?></option>
<?php } ?>
</select>
<input type="submit" value="Upgrade" class="submit">
<div class="center-align" style="margin-left: -20px"><img src="images/loading.gif" width="auto" id="loading-rent" style="margin-right: 0px; height: 40px"></div>
</form>
<?php } ?>
在下一行中,您为加载图像设置了id
标记;这对于while循环的每个迭代都必须是唯一的,否则您会遇到类似于您正在经历的问题。使用唯一ID和/或使用javascript选择要显示的最近加载图像
<div class="center-align" style="margin-left: -20px"><img src="images/loading.gif" width="auto" id="loading-rent" style="margin-right: 0px; height: 40px"></div>
在使用循环生成大量元素时,请使用.classes
使用#id
作为唯一元素
要修复代码,请执行以下操作:
添加并修复任何缺少的类
用类替换代码中的所有id属性
使用事件委派来侦听任何提交按钮上的单击事件。阅读以下内容:
你的建议很好。然而,这并不是OP问题的原因:只有当他们使用id
进行选择时,它才会成为一个问题,因为它总是会返回带有该id
的第一个项目,但这目前并没有发生。但这正是用户所经历的。他说,无论单击哪个按钮,单击提交按钮时只显示第一个加载图像。:)当我使用class时,单击所有当我单击任何按钮时打开的图像(所有图像是指while循环中每个按钮下的所有加载图像)。我应该为他们使用唯一的I吗?如果是,那么如何操作?当我使用class时,单击当我单击任何按钮时打开的所有图像(所有图像是指while循环中每个按钮下的所有加载图像)。我应该为他们使用唯一的I吗?如果是的话,怎么办?
<div class="center-align" style="margin-left: -20px"><img src="images/loading.gif" width="auto" id="loading-rent" style="margin-right: 0px; height: 40px"></div>