在 A-Z 列表视图 Web 部件中搜索 URL 说明



我是Sharepoint新手,请温柔一点:-)

我有一个包含几列的 Sharepoint 2010 A-Z 列表,对于此问题来说,重要的一个是包含大约 600 个超链接的 URL 列。每个超链接都有一个有意义的说明显示,而不是 URL 地址本身。

在我的一个网站页面上,我有一个连接到该列表的 A-Z 列表视图 Web 部件。我已将其设置为一次仅显示列表中的 30 个条目。

我需要做的是为用户提供一种搜索整个 600 个 URL 以找到他们正在寻找的内容的方法。例如,如果他们在搜索框中键入"载入文档",则结果应返回描述中包含"载入"的任何URL,即搜索应不区分大小写。

我找到了一些代码,这些代码添加到"搜索页面"上的 HTML 表单 Web 部件中,该页面创建了一个搜索框,并应在同一页面上返回搜索结果列表,但不幸的是,它仅适用于单个关键字。如果我输入"入职",它可以工作。如果我输入"载入文档",它不会返回任何内容。

起初,搜索是查看 URL 列,并且没有在任何搜索词下返回任何内容。

然后,我尝试在 A-Z 列表中创建一个额外的"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 个链接。如果我搜索"添加a",我希望看到返回的前三个链接。如果我搜索"添加培训",我希望只看到返回的第 6 个链接。

目前,如果我搜索"添加",则会返回所有 6 个链接。但是,如果我在搜索框中添加任何其他单词和空格,我只会收到一条消息

"在"A-Z"列表的此视图中没有要显示的项目。要添加新项目,请单击"新建"。

嗨,我不确定我是否正确描绘了这个,但据我所知。

你有某种列表 Web 部件和一些硬编码的输入类型文本。

如果我是你而不是:

<input id="tbSearch" type="text"/>

我会有文本搜索类型的过滤器 Web 部分。然后,我会通过连接将筛选器 Web 部件的参数发送到列表 Web 部件。

选择也是不必要的,因为它是另一种类型的筛选器 Web 部件调用选择筛选器。

虽然有点旧手表选择Web部件视频,它也应该有助于文本Web过滤器,因为它相似。

最新更新