【发布时间】:2020-05-29 06:29:23
【问题描述】:
编辑:已解决。谢谢大家!
我是编程新手 :D 我的代码如下。这是交易:我有多个按钮,但我想让它在任何时候点击这些按钮中的任何一个时都会发生同样的事情,但每个按钮也有一个特定的值,我也希望这个特定的值是打印出来。我的代码遍历文档并查看具有“editButton”类的所有元素,并正确识别所有按钮,但问题是无论我按下哪个按钮,我总是得到最后一个按钮的值,因为 var id仅在 for 循环完成后分配,并且位于最后一个元素上。我尝试创建一个全局变量并为其赋值,但结果是一样的。在转到 .done (function (data) 之前,我尝试结束 for 循环,但出现错误。有人可以帮我吗?谢谢!
$(document).ready(function() {
var anchors = document.getElementsByClassName('editButton');
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
anchor.onclick = function() {
$.ajax({
method: "GET",
url: "/testedit.php",
}).done(function(data) {
var id = anchor.value;
/* from result create a string of data and append to the div */
var result = data;
var string = '<p>ID is ' + id + '</p><br>';
$("#records").html(string);
});
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="records"></div>
【问题讨论】:
-
我将您的代码移入了代码 sn-p。您能否添加必要的 HTML 来重现您的问题?
-
我的按钮是自动生成的,每个按钮都与数据库中的一个元素相关联。我添加了按钮的代码,但我认为其他任何内容都不是真正相关的。
-
您可以复制并粘贴生成的代码(客户端),以便我们更好地了解您的问题。
标签: javascript for-loop dom