我在JavaScript中有一个循环,可从SharePoint列表中提取数据,而我想做的是使用caleander.js插件从此列表中为这些事件建立日历视图。
我被卡住的地方是插件接受和数组,而我正尝试从列表数据中动态构建该数组。
例如
function getSuperRegionNames(xData, status)
{
var events = "";
alert("entered loop")
//Iterates through each row and returns information - Populates the "Super Region Full Name" dropdown with values from the Super Region list
$(xData.responseXML).find("z\\:row").each(function()
{
var ID = $(this).attr("ows_ID");
var Title = $(this).attr("ows_Title");
var AssignedTo = $(this).attr("ows_AssignedTo");
var Description = $(this).attr("ows_Body");
var aStartdate = $(this).attr("ows_DueDate");
var Status = $(this).attr("ows_Status");
var Priority = $(this).attr("ows_Priority");
var aDueDate = $(this).attr("ows_DueDate");
var bDueDate = moment(aDueDate).format('DD/MM/YYYY');
var bYear = moment(aDueDate).year();
var bMonth = moment(aDueDate).month();
var bDate = moment(aDueDate).date();
var select = "<a class='btn btn-s btn-success' style='width:150px' target='_blank' href='registrationselect.aspx?id="+ID+"'>View Detail</a>";
//events.push({'Date': new Date(bYear, bMonth, bDate),
// 'Title': Title,
// 'Link': ID,
// 'Status': Status,
// 'AssignedTo': AssignedTo,
// 'Priority': Priority},
// });
var appendThis = "{'Date': " + new Date(bYear, bMonth, bDate) + ", 'Title': " + Title +", 'Link': " + ID + ", 'Status': " + Status + ", 'AssignedTo': " + AssignedTo + ", 'Priority': " + Priority + "},";
events = events + appendThis;
alert(appendThis);
$("#results").append("<tr style='border-bottom:thin gray solid' align='middle'>" +
"<td align='left' style='padding:10px'>"+ID+"</td>" +
"<td align='left' style='padding:10px'>"+Title+"</td>" +
"<td align='left' style='padding:10px'>"+AssignedTo+"</td>" +
"<td align='left' style='padding:10px'>"+Description+"</td>" +
"<td align='left' style='padding:10px'>"+bDueDate+"</td>" +
"<td align='left' style='padding:10px'>"+Status+"</td>" +
"<td align='left' style='padding:10px'>"+Priority+"</td>" +
"<td align='left' style='padding:10px'>"+bYear+"</td>" +
"<td align='left' style='padding:10px'>"+select+"</td>" +
"</tr>");
});
alert(events);
var loadEvents = [
events
];
var settings={}
var element = document.getElementById('caleandar');
caleandar(element, loadEvents, settings);
}
您可以在最后一节中看到我正在尝试获取一个字符串,并“神奇地”从中创建一个数组,但是我显然在这个想法上走错了轨道。
是否有人在遍历列表时如何从值列表构建数组?
谢谢, 格雷格
答案 0 :(得分:0)
您可以通过多种方式创建动态数组,最简单的方法之一如下:
arg_list = ['one', 'two', ..., 'ten']
form_list = [Form(arg=arg_list[i]) for i in range(10)]
放入“ arr = [];”在循环之外,在循环中使用休息代码,并检查阵列是否准备就绪。