Làm cách nào để chúng tôi có thể thực hiện append
đợi cho đến khi append
trước đó hoàn tất. Tôi đang phụ thêm một lượng lớn dữ liệu để phần bổ sung hiện tại nên kiểm tra xem phần bổ sung trước đó đã hoàn thành chưa. Tôi có thể làm điều này bằng cách đưa tất cả phụ lục độc lập với một số thời gian trễ. Nhưng thực tế theo mã của tôi tôi có thể có 'n' số phụ thêm vì vậy tôi muốn làm điều này tự động.Đợi cho đến khi trước .append() hoàn thành
Tôi đã thử sử dụng hoặc trong khi vòng lặp nhưng tập lệnh bị hỏng và trình duyệt bị lỗi do phần nối tiếp theo bắt đầu trước khi phần bổ sung trước đó hoàn tất.
$('#printall1').click(function() {
$('#fourElementsonly').empty();
var cleartable = 0;
var maxlimit = 0;
var presentarraycount = 0;
$.post("/PortalUserReport/getjunkdata", null, function(response, status) {
var report = eval(response);
var totalRecordsCount = report.length; //6000
var totalRecordsCountfortheLoop = totalRecordsCount;
var arraycount = Math.ceil(totalRecordsCount/1000);
var reports = new Array(arraycount); // reports[6]
for (var i = 0; i < arraycount; i++) {
$('#fourElementsonly').append('<table border = "1" id = "Portal_User_elements' + i + '" style = " border-collapse:collapse; width:800px; margin:0px; padding:0px; border-color:black"> </table>');
}
reports[presentarraycount] = "";
$.each(report, function(x) {
if (cleartable == 0) {
for (var i = 0; i < arraycount; i++) {
$('#Portal_User_elements' + i).empty();
}
cleartable++;
}
if (recordnumber <= totalRecordsCountfortheLoop) {
reports[presentarraycount] += "<tr style = \"height:20px; border: 1px Solid Black\"> <td style = \"width:50px; text-align:center \"> " + recordnumber + " </td> <td style = \"width:350px;\"> Name :" + report[x].FirstName + "</td> <td style = \"width:200px;\"> UserName :" + report[x].UserName + " </td> <td style = \"width:200px; \"> Company : " + report[x].Company + " </td> </tr>";
reports[presentarraycount] += "<tr style = \"height:20px; border: 1px Solid Black\"> <td > </td> <td> Registration Date : <label class = \"datepicker\"> " + report[x].ActiveDate + " </label> <td> User CN : " + report[x].UserCN + " </td> <td> Status: " + report[x].Status + " </td> </ td> </tr>";
reports[presentarraycount] += "<tr style = \"height:20px; border: 1px Solid Black\"> <td> </td> <td> User Privilege : " + report[x].Privileges + " </td> <td> </td> </tr>";
maxlimit++;
if (maxlimit == 1000) {
presentarraycount++;
reports[presentarraycount] = "";
maxlimit = 0;
}
}
recordnumber++;
});
for (var i = 0; i < arraycount; i++) {
$(this).delay(1000, function() {
$('#Portal_User_elements' + i).append(reports[i]);
});
}
});
});
Dữ liệu cho phụ trang được đưa vào tài liệu trong một lần chuyển xuống hay bạn đang sử dụng Ajax để kéo từng mảnh một? –
Vui lòng hiển thị mã bạn hiện đang sử dụng. – Gumbo
Tôi đang sử dụng Ajax Post và nhận tất cả dữ liệu dưới dạng đối tượng Json. – bluwater2001