问题总结
我有一个Web应用程序,显示从API返回的数据摘要(日期,主题,描述等)。用户登录后,PHP脚本提取数据并将每个项目输出为表格行。每行上都有一个链接,允许用户单击该链接,这将再次调用API并提取该条目的详细信息。它使用项目ID号,在生成行时,该项目ID号会放入链接ID属性中。
为了进行测试,我有一个JQuery代码块,当单击为P元素时,它仅呈现每个链接的ID号。这样,我知道JQuery函数肯定会将ID传递给PHP脚本,并且该脚本肯定会将某些内容返回给页面。
这是PHP返回的数据:
echo "<tr>
<td>$dateChange</td>
<td>$itemSubject</td>
<td id='myDiv'>$itemSummary<br />
<a class='test' href='#' id=$itemID onclick='testing();'>
View Details
</a>
</td>
<td>$itemState</td>
</tr>";
这是当用户单击适当的链接时调用的JQuery函数:
function testing() {
$.post("itemDetails.php", { id: $(this).attr('id') }, function(response) {
var details = document.createElement("P");
details.innerText = response;
document.getElementById('myDiv').appendChild(ticket);
});
};
我会发生什么:
每次单击链接时,该函数都会将该链接的ID属性发布到PHP脚本。PHP脚本将回显该内容,并且该函数将获取响应并将其呈现为附加到td元素上的新元素。
实际发生的情况:
第一次单击链接时,该链接的ID在页面上呈现两次,下一个链接呈现3次,接下来的4次,依此类推。每次单击链接时,都会输出该链接的ID ++
我不知道为什么每次都增加输出,而不仅仅是打印一次。
我希望我已经清楚地解释了事情。如果没有,请告诉我。或者,如果我要以错误的方式处理整件事,请告诉我。
亲切的问候
编辑
终于弄清楚我在做什么错。删除了onclick函数调用,并使用了.ready。更新的JavaScript / JQuery是:
$(document).ready(function() {
$("a").click(function(event) {
$.post("includes/modal.php", { id: event.target.id }, function(response) {
var ticket = document.createElement("P");
ticket.innerText = response;
document.getElementById('myDiv').appendChild(ticket);
});
});
});
感谢您的协助!非常感激。
人到中年有点甜
随时随地看视频慕课网APP
相关分类