Рассмотрим следующий код.
var tempData = [{
ApplicationID: 1,
ApplicationDate: "02/11/2019",
HouseholdID: 1,
ClientName: "Test App",
Status: "Active",
StatusDate: "01/01/2019",
ServiceItem: "None"
}, {
ApplicationID: 100,
ApplicationDate: "02/11/2019",
HouseholdID: 42,
ClientName: "Test Client",
Status: "Active",
StatusDate: "01/01/2019",
ServiceItem: "Full"
}, {
ApplicationID: 999,
ApplicationDate: "02/10/2019",
HouseholdID: 123,
ClientName: "Simpsons",
Status: "Active",
StatusDate: "01/01/2019",
ServiceItem: "Duff"
}];
$(function() {
function populateTable(tObj, tData) {
var headers = Object.keys(tData[0]);
tObj.html("");
var head = $("<thead>").appendTo(tObj);
$("<tr>").appendTo(head);
$.each(headers, function(k, v) {
$("tr", head).append($("<th>").html(v));
});
var body = $("<tbody>").appendTo(tObj);
$.each(tData, function(k, v) {
var row = $("<tr>").appendTo(body);
$.each(headers, function(j, h) {
$("<td>", {
class: "divModalDialogSpanColum"
}).html(v[h]).appendTo(row);
});
});
}
function openDialogPrevApps(diagTitle, tableData) {
var gridDiag = $('<div>', {
title: diagTitle,
id: "gridPreviousApps"
}).appendTo($("body"));
var gridTable = $('<table>', {
id: "tblPrevApps"
}).appendTo(gridDiag);
gridDiag.dialog({
autoOpen: false,
hide: "false",
width: 800,
buttons: {
'Ok': function() {
$(this).dialog('close');
gridDiag.remove();
}
}
});
populateTable(gridTable, tableData);
$('#gridPreviousApps').dialog("open");
}
function loadPreviousApplications() {
/* AJAX Code
Place your AJAX Code to collect data here.
When ready, pass the data to the operner
*/
openDialogPrevApps('Previous Applications', tempData);
}
$("#prevApps").click(loadPreviousApplications);
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input id="prevApps" type="button" value="Previous Apps" class="divHHoldRowPmtEditinput" />
Немного разбив функции, вы можете лучше их использовать и использовать их в разное время.В вашей функции загрузки вам просто нужно собрать данные и передать их в функцию открытия диалога.
Надеюсь, это поможет.