1

我正在创建一个包含多个链接列表的 SharePoint 2010 aspx 页面。顶部是我们的“核心表”,用户可以从中进行选择,它会更新下面的连接列表。我正在尝试创建一个具有自动完成功能的搜索框,它允许用户对核心表中的名称列表进行排序/过滤/搜索,这将允许用户选择单个结果并拥有链接表更新。

我尝试了几件没有运气的事情,包括 HTML 表单(需要明确的文本),以及我在此处和其他在线资源中找到的一些选项,但均未成功。我认为对链表的依赖会造成麻烦。此外,核心表包含数百个条目,因此需要分页。默认视图包含分组。

提前致谢。

4

1 回答 1

0

有同样的问题,似乎有很多自动完成解决方案,但是这个SPServices 库是迄今为止最好的。它不仅适用于自动完成,它还适用于许多其他事情。请务必阅读有关此的整个文档。

我的猜测是,设置一个基本的常规过滤器 Web 部件(或 BDC 过滤器),将其链接到核心表,然后在过滤器搜索上应用自动完成功能可能会奏效。

可以在 Internet 上找到有关如何应用 jQuery 代码的一些示例(我会发布它们,但我的低声誉只允许 2 个链接),并且来自 SPServices 库 Marc Anderson 的博客的作者,请点击此处

就个人而言,这个简单的代码对我有用:

<script language="javascript" type="text/javascript" src="/SiteAssets/Scripts/jquery-1.8.3.min.js"></script>
<script language="javascript" type="text/javascript" src="/SiteAssets/Scripts/jquery.SPServices-0.7.2.min.js"></script>
<script language="javascript" type="text/javascript">
    $(document).ready(function() {
        document.getElementById('ctl00_m_g_b3f08547_27a4_484c_938a_f92864c47b7a_SPTextSlicerValueTextControl').title = 'Test';

        $().SPServices.SPAutocomplete({ 
            sourceList: "TestList", //The name of your List
            sourceColumn: "Title", //The name of the column you are taking the data FROM
            columnName: "Test", // The name of the column/textbox you want to apply the Autocomplete TO
            ignoreCase: true,
            numChars: 3,
            slideDownSpeed: 50,
            debug: true
        });
    });
</script>

请注意,代码适用于单行文本列类型和title属性。现在,我的过滤器没有任何title属性,但它确实有id一个,所以我只是添加了它,如第一行代码所示。

顺便说一句,有一个专门针对SharePoint的 StackExchange 论坛,因此您可以在那里发布此问题或任何其他问题。

于 2013-04-11T14:58:39.993 回答