【发布时间】:2020-11-08 05:37:00
【问题描述】:
在 AJAX 的帮助下创建和获取表格和表格中的按钮。
带来的表中的按钮不起作用。我看不到与控制台上的按钮单击相关的任何操作。按钮不起作用的原因可能是什么?
按钮创建的代码结构:
for (var i = 0; i < finishedExams.length; i++) {
document.getElementById('FEtemplate').innerHTML += '<tr><th>' + (i + 1) + '</th><td>' + result + '</td><td>' + title + '</td><td>' + et + '</td><td>' + humanized_time_span(date) + '</td><td><button type="button" class="btn btn-sm btn-alt-primary sendButtonData" data-qr-exam-id="' + id + '"> Send</button></div></td></tr>';
}
按钮点击相关的代码结构:
$('.sendButtonData').click(function () {
/* AJAX POST code here.. */
if (response.status == true) {
/* some codes */
} else {
/* some codes */
}
});
我尝试了什么?
$('body').on('click', '.sendButtonData', function(){
此代码有效,但使用表格第一部分的 ID 获取它。所有其他按钮的行为就像它们在表格的第一行工作一样。
另外,我将按钮类型从“按钮”更改为“提交”。同样,没有任何改变。
【问题讨论】:
-
因为您是动态创建这些按钮,所以您需要在创建它们之后附加一个事件监听器,或者对父元素使用点击事件委托,以便所有未来的子按钮都能获得点击监听器
-
我知道这是在做监听任务。
$('body').on('click', '.sendButtonData', function(){代码中是否缺少某些内容?谢谢@SaymoinSam -
请检查我的答案,祝您编码愉快!
标签: javascript html jquery ajax button