Javascript 如何计算Sharepoint列表列中的特定文本值
我目前正在尝试计算SharPoint列表列中出现特定文本字符串(“1月”和“2月”)的次数。下面是我的代码,它只返回第一个不计算的文本srting值Javascript 如何计算Sharepoint列表列中的特定文本值,javascript,jquery,sharepoint,Javascript,Jquery,Sharepoint,我目前正在尝试计算SharPoint列表列中出现特定文本字符串(“1月”和“2月”)的次数。下面是我的代码,它只返回第一个不计算的文本srting值 function ResultsAT(xData, status) { var Month = [] var dCounts = [i] var i = 0; var dNumber = 0; var TableRowScBrd = "<table>"; TableRowScBr
function ResultsAT(xData, status) {
var Month = []
var dCounts = [i]
var i = 0;
var dNumber = 0;
var TableRowScBrd = "<table>";
TableRowScBrd += "<TR><TH style='text-align: Left'>CLIENT</TH><TH>JAN</TH><TH>FEB</TH><TH>MAR</TH><TH>APR</TH><TH>MAY</TH><TH>JUN</TH><TH>JUL</TH><TH>AUG</TH><TH>SEP</TH><TH>OCT</TH><TH>NOV</TH><TH>DEC</TH><TH>Total</TH></TR>";
$(xData.responseXML).find("z\\:row").each(function () {
i = i + 1
var sReportMonth = $(this).attr("ows_ReportMonth");
var sServiceManager = $(this).attr("ows_ServiceManager");
sServiceManager = sServiceManager.substr(sServiceManager.indexOf("#") + 1);
var dCounts = $(this).attr("ows_ReportMonth");
var Manager = sReportMonth + sServiceManager;
var dReasons = $(this).attr("ows_ReportMonth");
dReasons = dReasons.substr(dReasons.indexOf("#") + 1);
if (Month[sServiceManager] == undefined)
{
Month[sServiceManager] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
}
if (Month[sServiceManager] != undefined)
{
}
if (dReasons == "1 JAN") { Month[sServiceManager][0] = dCounts; }
if (dReasons == "2 FEB") { Month[sServiceManager][1] = dCounts; }
if (dReasons == "3 MAR") { Month[sServiceManager][2] = dCounts; }
dNumber = Month[sServiceManager][0] + Month[sServiceManager][1] + Month[sServiceManager][2]
// TableRowScBrd += "<TR><td>" + sReportMonth + "</td><td>" + sServiceManager + "</td><td>" + i + "</td><TR>";
});
var key = "";
for (key in Month) {
TableRowScBrd += "<TR><td style='text-align: Left'>" + key + "</td><td>" + Month[key][0] + "</td><td>" + Month[key][1] + "</td><td>" + Month[key][2] + "</td><TR>";
}
TableRowScBrd += "</Table>";
$("#tasksAT").append(TableRowScBrd);
}
函数结果集(扩展数据、状态){
变量月份=[]
var dCounts=[i]
var i=0;
var-dNumber=0;
var TableRowScBrd=“”;
TableRowScBrd+=“客户JanFebMaraprMayJunJulAugulSepoctNovDecTotal”;
$(扩展数据.responseXML).find(“z\\:行”).each(函数(){
i=i+1
var sReportMonth=$(this.attr(“ows_ReportMonth”);
var sServiceManager=$(this.attr(“ows_ServiceManager”);
sServiceManager=sServiceManager.substr(sServiceManager.indexOf(“#”)+1);
var dCounts=$(this.attr(“ows_ReportMonth”);
var Manager=sReportMonth+sServiceManager;
var dReasons=$(this.attr(“ows_ReportMonth”);
dReasons=dReasons.substr(dReasons.indexOf(“#”)+1);
如果(月[sServiceManager]==未定义)
{
月[sServiceManager]=[0,0,0,0,0,0,0,0,0,0,0,0,0,0];
}
如果(月[sServiceManager]!=未定义)
{
}
如果(dReasons==“1月”){Month[sServiceManager][0]=dCounts;}
如果(dReasons==“2月2日”){Month[sServiceManager][1]=dCounts;}
如果(dReasons==“3月”){Month[sServiceManager][2]=dCounts;}
dNumber=月[sServiceManager][0]+月[sServiceManager][1]+月[sServiceManager][2]
//TableRowScBrd+=“”+SRReportMonth+“”+sServiceManager+“”+i+“”;
});
var key=“”;
用于(输入月份){
TableRowScBrd+=“”+键+“”+月[键][0]+“”+月[键][1]+“”+月[键][2]+“”;
}
TableRowScBrd+=“”;
$(“#tasksAT”).append(TableRowScBrd);
}
虽然我现在无法运行您的代码进行验证,但我很确定它会返回一个由rows\row组成的xml结构。因此,row只能找到第一行 你能修复一下代码上的缩进吗?这使它很难阅读。你好。。。修正了代码,希望它更容易。。。我在这个阶段感到绝望:(嗨,Brian…关于如何更改返回结构的任何建议,对jscript来说都是比较新的…请帮助除非您创建自己的服务,否则您无法更改返回结构,您所能做的就是遍历它。您是否正在使用sharepoint 2010?如果是这样,您可以使用更结构化的客户端对象模型。您是否有任何links那会很有用!我使用的是SP 2007。这个版本没有“服务”吗?通过创建您自己的服务,我指的是您自己的web服务。一个用于返回您选择的结构的抽象层。然后,听起来这可能超出了您的直接知识范围。我可能会首先评估您从xData.responseXML返回的xml,以查看您实际返回的结构。嗨,Brian,抱歉,ab我们会及时回复您…您对上述建议的任何链接都将非常好…谢谢