这是我的表
输入时间月
是的,1月份
是的2月号
没有Mar
是4月号
这是我得到的回报:
月是否否
1月1日0
2月2日0
3月3日3
4月0日4日
我想要的是我看起来像这样:
月是否否
1月1日0
2月1日0
3月1日
4月1日0
这是我的脚本。我正在绞尽脑汁,非常感谢任何帮助。感谢
<Script>
function processResult(xData, status) {
var Month = [];
var i = 0;
var TableRow = "<table>";
$(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];
}
if(Month[sMonth]!=undefined)
{
if (sTime == "Yes" && sType == "A"){Month[sMonth][0] = i}
if (sTime == "No" && sType == "A"){Month[sMonth][1] = i}
}
});
var key = "";
for(key in Month){
TableRowHtml += "<TR><td style='text-align: Left'> " + key +" </td><td>" + Month[key][0] + "</td><td> "+ Month[key][1] + "</td><TR>";
}
TableRowHtml +="</Table>";
$("#tasksUL").append(TableRowHtml);
}
</Script>
由于
答案 0 :(得分:0)
尝试将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>
答案 1 :(得分:0)
我认为你正在寻找这个:
if (sTime == "Yes" && sType == "A"){Month[sMonth][0] = 1}
if (sTime == "No" && sType == "A"){Month[sMonth][1] = 0}