SharePoint 2010过滤列表结果具有自动完成文本搜索

时间:2013-03-19 20:40:49

标签: sharepoint-2010

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

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

出现同样的问题,似乎有很多自动完成解决方案,但this一个SPServices库是迄今为止最好的解决方案。它不仅适用于自动完成,它适用于其他一些东西。请务必阅读有关此内容的完整文档。

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

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

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

<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属性,所以我只是添加了它,如第一行代码所示。

顺便说一句,有一个专门针对here的StackExchange论坛,所以你可以在那里发布这个或任何其他问题。