javascript - 另一个 GetListItems 函数中的 SPServices GetListItems 函数
问题描述
我正在处理一个项目,该项目涉及同一个 SharePoint 网站中的两个单独的列表。我使用 SPServices 中的 GetListItems 函数从列表 A 中检索列表项,并将特定字段中的值插入 HTML 字符串以显示在页面上。
我有第二个列表,列表 B,我也希望能够使用 GetList Items 进行查询,但基于第一个查询的结果。
List B 包含一个基于 List 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>
推荐阅读
- php - Ubuntu 18.04:无法使用通过脚本运行的可执行文件创建文件
- android - Android Studio Canary 中的 Kotlin Android 扩展错误
- hibernate - 实体没有默认构造函数: : com.devglan.model.Product
- linux - 如何从 Linux 命令的输出中提取单个单词?
- sql - SQL Server 中动态字段的转换
- javascript - 如何在 JavaScript 中按条件隐藏元素?
- arraylist - 如何在 Kotlin 中初始化一个空数组列表?
- c# - 本地连接但不通过网络连接的客户端服务器(服务)应用程序
- java - 通过 API 更新枚举
- angular - 使用 Angular 5 / Typescript 将 HTML 附加到 div