何が起こっているのかわかりません。
$.ajax 成功メッセージからオブジェクトを取得し、それらを新しい配列に格納してプラグインに渡します。プラグインはデータを使用しますが、上記のタイトルでプロパティ 'ID' を使用できないと報告しています。
for ループの最後で停止し、コンソールの for ループの最初の行を指します。データとすべてを複製します。for の後に何も動作しません。
$.ajax() のスニペット
var suppliers = [];
for(var i=0; i<5; i++){
suppliers[i] = msg.d[i];
}
$.fn.appendSnapshots(suppliers);
失敗するところ
$.fn.appendSnapshots = function(snapshots) {
var accumulatedHeight = $("#suppliersTable").height();
var IDsShowing = new Array();
for (var i=0; i<snapshots.length; i++){
if($("#supplierStatusDataRow\\." + snapshots[i].ID).length == 0){
var $supplierStatusDataRow = $("#supplierStatusDataRow").clone(false)
$supplierStatusDataRow.css('z-index', 1);
$supplierStatusDataRow.find("*[id]").andSelf().each(function() { $(this).attr("id", $(this).attr("id") + "." + snapshots[i].ID); });
$("#supplierStatusDataDiv").append($supplierStatusDataRow);
$("#statusSupplierName\\." + snapshots[i].ID).append(snapshots[i].SupplierName);
$("#statusSupplierNumber\\." + snapshots[i].ID).append(snapshots[i].SupplierNumber);
$("#statusHostNumber\\." + snapshots[i].ID).append(snapshots[i].HostNumber);
$("#statusSupplierType\\." + snapshots[i].ID).append(snapshots[i].SupplierType);
$("#statusRecievedReportStatus\\." + snapshots[i].ID).append(snapshots[i].RecievedReportStatus);
$("#statusBarCode\\." + snapshots[i].ID).append(snapshots[i].BarCode);
$("#statusNumberOfUsers\\." + snapshots[i].ID).append(snapshots[i].NumberOfUsers);
$("#statusOnBoardStatus\\." + snapshots[i].ID).append(snapshots[i].OnBoardStatus);
$("#statusSupplierEmail\\." + snapshots[i].ID).append(snapshots[i].SupplierEmail);
$("#statusPrimaryBuyer\\." + snapshots[i].ID).append(snapshots[i].PrimaryBuyer);
$("#statusLastPODate\\." + snapshots[i].ID).append(snapshots[i].LastPODate);
$("#statusPOMTD\\." + snapshots[i].ID).append(snapshots[i].POMTD);
$("#statusPOYTD\\." + snapshots[i].ID).append(snapshots[i].POYTD);
$supplierStatusDataRow.css('top', accumulatedHeight);
$supplierStatusDataRow.animate({opacity: 1}, 500);
}
else{
$("#supplierStatusDataRow\\." + snapshots[i].ID).animate({top: accumulatedHeight}, 500);
}
IDsShowing.push(parseInt(snapshots[i].ID));
accumulatedHeight += $("#supplierStatusDataRow\\." + snapshots[i].ID).height() - 1;
}
$("#supplierStatusDataDiv").find('[id^="supplierStatusDataRow\\."]').each(function(i){
var splitID = $(this).attr("id").split(".");
if($.inArray(parseInt(splitID[1]), IDsShowing) == -1){
$("#supplierStatusDataDiv").find('[id^="supplierStatusDataRow\\.' + splitID[1] + '"]').animate(
{opacity: 0},
500,
function() { $("#supplierStatusDataRow\\." + splitID[1]).remove();
});
}
});
totalHeight = $("#supplierStatusRadioDiv").height() + $("#supplierStatusNameDiv").height() + $("#supplierStatusSlider").height() + accumulatedHeight;
$("#suppliersSnapshot").animate({height: totalHeight}, 500);
$("#supplierStatusDataDiv").animate({height: accumulatedHeight}, 500);
}