Подсчет пунктов в списке sharepoint программно - PullRequest
0 голосов
/ 20 октября 2011

Это мой стол
Тип Время Месяц
A Да Ян
A Да Фев
A No Mar
A Да Апр

Вот что я получаю взамен:
Месяц ДА НЕТ
1 января 0
2 февраля 0
Март 0 3
Апр 0 4

Я хочу, чтобы мой счет выглядел так:

Месяц ДА НЕТ
1 января 0
1 февраля
Март 0 1
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>

Спасибо

Ответы [ 2 ]

0 голосов
/ 20 октября 2011

Я думаю, вы ищете это:

if (sTime == "Yes" && sType == "A"){Month[sMonth][0] = 1}
if (sTime == "No" && sType == "A"){Month[sMonth][1] = 0}
0 голосов
/ 20 октября 2011

Попробуйте переместить определение 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...