我有一个由 AJAX 调用生成的表格,准备好文档。单击表中的元素时,将打开一个对话框,可以在其中编辑元素。
单击保存按钮时,更改将被保存回来,对话框关闭正常,但我想触发重新加载生成表的 AJAX。
经过多次编辑,这是当前代码。我添加了一个控制台日志以获取更多信息。
当使用 X 关闭图标(未保存)关闭模式对话框时,控制台日志将按预期报告。如果我在调用另一组代码的模式中单击保存,控制台日志会在几秒钟内报告相同的事情 100 次。刷新就是阻止它的全部。
$(document).ready(function () {
$("#elementView").dialog({
autoOpen: false,
modal: true,
width: 900,
height: 500,
resizable: false,
close: function () {
$("#elementholder").html('Loading elements...<br /><br />');
var jobid = <?= $_GET[jobID]; ?>
console.log("performing post to get elements list for jobID " + jobid);
$.ajax({
type: "POST",
url: "ajax_listelements.php",
data: "jobid=" + jobid,
success: function (msg) {
// alert ("success");
if (msg == 'error') {
$("#elementholder").html('<font color="red"><b>Error</b></font>');
} else {
$("#elementholder").html(msg);
}
} // complete AJAX success
}); // complete AJAX
} // complete close function
}); // complete modal
// detect row click on elements page to open modal
tr = $('#elementtable').find('tr');
// 1.7.1: live is deprecated in 1.9, would need to change on jQuery ON
tr.live('click', function (event) {
elementID = $(this).find("td.thisID span").html();
// modal content loaded from mdl_element.php using ID
$('#elementView').load('mdl_elementview.php?elementID=' + elementID).dialog('open');
});
});