javascript - 在 AZ 列表视图 Web 部件中搜索 URL 描述
问题描述
我是 Sharepoint 新手,请温柔:-)
我有一个包含几列的 Sharepoint 2010 AZ 列表,这个问题的重要一列是一个包含大约 600 个超链接的 URL 列。每个超链接都有一个有意义的描述显示,而不是 URL 地址本身。
在我的一个网站页面上,我有一个连接到该列表的 AZ 列表视图 Web 部件。我已将其设置为一次仅显示列表中的 30 个条目。
我需要做的是为用户提供一种方法来搜索整个 600 个 URL 以找到他们正在寻找的内容。例如,如果他们在搜索框中键入“入职文档”,则结果应返回描述中包含“入职”的任何 URL,即搜索应不区分大小写。
我在“搜索页面”上找到了一些添加到 HTML 表单 Web 部件中的代码,该代码创建了一个搜索框,并应在同一页面上返回搜索结果列表,但不幸的是,它仅适用于单个关键字。如果我输入“入职”,它会起作用。如果我输入“入职文件”,它不会返回任何内容。
起初,搜索正在查看 URL 列,并且在任何搜索条件下都没有返回任何内容。
然后,我尝试在 AZ 列表中创建一个额外的“NotesTest”列,它是一个“单行文本”类型的列,其中包含超链接描述的文本版本。然后我调整了代码以将搜索指向 NotesTest 列。这会返回单个单词搜索词,但不会返回超过一个单词。
我在 html 表单 web 部件中的代码如下:
function RedirectUrl() {
var tb = document.getElementById("tbSearch").value;
var cs = document.getElementById("sfield").value;
var url = "";
if (tb != "") {
if (cs == "NotesTest") {
url = "FilterField1=" + cs + "&FilterValue1=" + tb;
window.location.href = "Test-3-SV.aspx?" + url;
} else {
url = "FilterName=" + cs + "&FilterMultiValue=*" + tb + "*";
window.location.href = "Test-3-SV.aspx?" + url;
}
} else {
return false;
}
}
function ClearUrl() {
window.location.href = "Test-3-SV.aspx?";
}
Search Field: <select id="sfield"> <option value="URL">URL</option> </select>
Search text: <input id="tbSearch" type="text"/>
<input id="btnSearch" onclick="return RedirectUrl();" type="button" value="Search"/>
<input id="btnClear" onclick="return ClearUrl();" type="button" value="Clear"/>
以下是 URL 列中的条目示例:
- “添加产品”
- “添加前景”
- “添加临时透支”
- “添加透支”
- “增加其他收入”
- “增加关系培训”
如果我搜索“添加”,我希望看到的是返回的所有 6 个链接。如果我搜索“添加一个”,我希望看到返回的前三个链接。如果我搜索“添加培训”,我希望只看到第 6 个链接返回。
目前,如果我搜索“添加”,所有 6 个链接都将被返回。但是,如果我在搜索框中添加任何其他单词和空格,我只会收到一条消息
““AZ”列表的此视图中没有要显示的项目。要添加新项目,请单击“新建”。”。
解决方案
嗨,我不确定我是否正确地描绘了这一点,但据我所知。
您有某种列表 Web 部件和一些硬编码的输入类型文本。
如果我是你而不是:
<input id="tbSearch" type="text"/>
我会过滤文本搜索类型的 Web 部件。然后我会通过连接将过滤器Web部件的参数发送到列表Web部件。
选择也是不必要的,因为它是另一种类型的过滤器 Web 部件调用选择过滤器。
尽管观看Choice Web Part Video 有点旧,但它也应该有助于文本 Web 过滤器,因为它类似。
推荐阅读
- spring-boot - 将队列的动态列表传递给队列侦听器
- android - Android Studio SDK 未显示对 Android 7.1.2 的支持?
- vb.net - 创建动态 DataGridViewComboBoxCells
- python - 使用 Numpy 迭代 DataFrame 行以创建新列
- python - 使用 Python 从 aspx 页面下载 .xls 文件
- node.js - UnhandledPromiseRejectionWarning:nodejs服务器中未处理的承诺拒绝
- r - Rscript在容器中找不到已安装的软件包
- java - 如何将 RESTful 服务器与 Apache Kafka 结合起来?
- angular - 访问指令中的属性
- angular - Angular LazyLoad 模块调用奇怪的组件