Попробуйте переместить определение var i;
в функцию each
; сейчас вы используете один и тот же i
для каждой строки, поэтому он кумулятивный. Остерегайтесь закрытия.
(Подождите, что даже является i
? Похоже, ничего полезного не получается, если вы не пытаетесь сохранить его совокупным.)
Также не совсем уверен, как вы создаете правильно сформированную таблицу, похоже, вам не хватает первого тега <table>
. В любом случае см. Ниже (не проверено).
<Script>
function processResult(xData, status) {
var Month = [];
$(xData.responseXML).find("z\\:row").each(function() {
var sType = $(this).attr("ows_Title");
var sTime = $(this).attr("ows_Time");
var sMonth = $(this).attr("ows_Month");
i = i + 1;
if (Month[sMonth] == undefined) {
Month[sMonth] = [0,0,0,0];
} else if (sType == "A") {
var which = sTime == "Yes" ? 0 : 1;
Month[sMonth][which] = i;
}
});
var table = "<table>";
for (var key in Month) {
table += "<TR><td style='text-align: Left'> " + key +" </td>"
+ "<td>" + Month[key][0] + "</td><td> "+ Month[key][1] + "</td><TR>";
}
table += "</table>";
$("#tasksUL").append(table);
}
</Script>