我正在处理一个项目,该项目涉及同一SharePoint网站内的两个独立列表。我使用SPServices中的GetListItems函数从列表A中检索列表项,并将特定字段中的值插入HTML字符串中以显示在页面上。
我有第二个列表,列表B,我希望能够使用GetListItems进行查询,但基于第一个查询的结果。
列表B包含一个基于列表B的ID列的查找列。因此,两者应该共享一个公共数据点。我想做的是能够点击从列表A返回的项目之一,并根据查找列查看列表B中与其相关的项目。
我知道这可能更像是一个Javascript问题,而不是SPServices问题,但考虑到GetListItems函数的具体用法,我不确定从哪里开始。有人能告诉我如何实现这一目标吗?
谢谢。
以下代码使用SPPlus使生活更轻松:
目的:从列表A中获取项目,然后计算列表A中的每个项目,列表B中有多少具有相同标题的项目。
<head>
<script src="https://cdn.jsdelivr.net/npm/sharepointplus@5.1.0/sharepointplus-5.1.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script>
$(document).ready(function () {
ExecuteOrDelayUntilScriptLoaded(onLoad(listA, listB), "sp.js");
});
function onLoad(listA, listB) {
$SP().list(listA).get({
fields: "Title",
}).then(function (response) {
var obj = {};
var dataA = response;
dataA.forEach(rowA => {
let titleFromListA = rowA.getAttribute("Title");
$SP().list(listB).get({
fields: "Title",
where: "Title='" + titleFromListA + "'"
}).then(function (response) {
let dataB = response;
let countofResultFromB = dataB.length;
obj[titleFromListA] = countofResultFromB;
})
});
console.log(obj)
})
}
</script> </head>