我想使用项目列表中的值来填充列表内容的多个不同页面。例如,在列表中我会有项目A和项目B等。我想建立一个专门用于项目A的站点,并拥有项目列表中的内容(即截止日期,项目工作人员等)填写在使用脚本编辑器Web部件的站点“项目A”的模板中。我被告知这可以使用JQuery动态完成,这样如果我稍后更改列表中的项目,那么该特定项目的站点将反映列表中的更改。
举个例子,假设列表如下:
项目清单
项目员工位置
项目A员工A 123 A St
项目B员工B 234 B St
项目C员工C 345 C St
然后我希望该网站有一个如下所示的脚本编辑器:
项目A(标题)
员工A
地点A
答案 0 :(得分:0)
这很简单。我希望您通过项目名称调用ScriptEditor WebPart中的列表内容。这意味着您从列表I中获取项目名称 - >项目A,为此Projekt创建具有相同标题的页面或网站 - >项目A并通过脚本编辑器,您将通过标题(项目名称)查询项目详细信息的列表。唯一的问题是,项目需要有唯一的名称。
var siteUrl = '/sites/MySiteCollection';
function retrieveListItems() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Announcements');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' +
'<Value Type=\'Number\'>1</Value></Geq></Where></Query><RowLimit>10</RowLimit></View>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded(sender, args) {
var listItemInfo = '';
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
listItemInfo += '\nID: ' + oListItem.get_id() +
'\nTitle: ' + oListItem.get_item('Title') +
'\nBody: ' + oListItem.get_item('Body');
}
alert(listItemInfo.toString());
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
而不是使用此示例中显示的警报来查看listitems数据,您还可以通过
将listitem的值分配给div容器$("myDIV_ID").update("My text");