我正在一个项目中,该项目在同一个SharePoint网站中涉及两个单独的列表。我已经在SPServices中使用GetListItems函数从列表A中检索列表项,并将特定字段中的值插入到HTML字符串中以显示在页面上。
我还有第二个列表,列表B,我也希望能够使用GetList Items进行查询,但要基于第一个查询的结果。
列表B包含一个基于列表B的ID列的查找列。因此两者应共享一个公共数据点。我想做的是能够单击从列表A返回的项之一-并基于查找列查看列表B中与其相关的项。
我知道这可能是Java问题,而不是SPServices问题,但是鉴于GetListItems函数的特定用法,我不确定从哪里开始。谁能给我任何有关如何实现这一目标的见识?
谢谢。
答案 0 :(得分:0)
以下代码使用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>