Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载仅在while循环的第一个结果中显示的图像_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 加载仅在while循环的第一个结果中显示的图像

Javascript 加载仅在while循环的第一个结果中显示的图像,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,在while循环中,无论从哪个结果中单击哪个按钮,加载显示在第一个结果按钮下方的图像。例如,如果我在第一个结果上单击submit按钮,加载图像将显示在其下方。没关系。但是,当我单击除第一个结果外的任何其他结果的提交按钮时,加载图像仅显示在第一个结果下方,而不显示在该特定结果的提交按钮下方 <?php while($a = $stmt->fetch()){ ?> <form method="post" action=""> <input

在while循环中,无论从哪个结果中单击哪个按钮,加载显示在第一个结果按钮下方的图像。例如,如果我在第一个结果上单击submit按钮,加载图像将显示在其下方。没关系。但是,当我单击除第一个结果外的任何其他结果的提交按钮时,加载图像仅显示在第一个结果下方,而不显示在该特定结果的提交按钮下方

<?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>