jQuery quicksearch使用onAfter函数调用突出显示结果?

时间:2009-05-08 16:29:20

标签: javascript jquery search autocomplete

昨天我很快就得到了关于best autocomplete option for what I needed.

的惊人答案

我想我可以使用onAfter function call from QuickSearch来调用SearchHighlight plugin to highlight the text I am typing in.

这可行吗?我很难让它上班。

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <title>rikrikrik - quickSearch jQuery plug-in - List items</title>
        <script src="jquery.js" type="text/javascript" charset="utf-8"></script>
        <script src="jquery.quicksearch.js" type="text/javascript" charset="utf-8"></script>
        <script src='jquery.SearchHighlight.js'></script>
        <script type="text/javascript" charset="utf-8">
            $(document).ready(function () {             
                $('ul#a li').quicksearch({
                    attached: 'ul:first',
                    position: 'before',
                    labelText: 'Search all countries beginning with A',
                    inputText: 'Search',
                    loaderImg: 'loader.gif',
                    loaderText: 'Searching...'
                    onAfter: ('ul#a li').SearchHighlight(partial)

1 个答案:

答案 0 :(得分:2)

看起来该插件旨在处理从引用者URL中解析关键字的正则表达式。我没有看到您更改SearchHighlight插件的选项,因此您正在使用其默认配置。这意味着它不知道您的搜索文本框,也不知道如何从中提取关键字。看起来你可以使用keys选项重新配置它以使用特定的关键字。

因此,您需要将对SearchHighlight的调用更改为以下内容:

        $(document).ready(function() {
        $('ul#a li').quicksearch({
        attached: 'ul:first',
        position: 'before',                                
        labelText: 'Search all countries beginning with A',                                
        inputText: 'Search',                                
        loaderImg: 'loader.gif',                                
        loaderText: 'Searching...',
        onAfter: function() { $('ul#a li').SearchHighlight({ exact: "partial", keys: $('.qs_input').val() });
    }); 

其中SEARCH_BOX是文本框的ID。

编辑:哈!我的语法很遥远。对于那个很抱歉。上面的代码应该适合你。此外,这可能不是那么好,因为更改搜索字符串时无法重置高亮显示。