如何在jquery ui自动完成中突出显示匹配的单词

时间:2013-10-03 09:12:24

标签: javascript jquery solr

我想在jquery ui自动完成中用用户输入的单词突出显示solr搜索结果。我尝试了以下代码,但它只会包含“< strong> word< / strong>”之类的字词。而不是大胆。请帮忙。

<script type="text/javascript">
$(function() {
    $("#autosearch").autocomplete({
        source: function( request, response ) {
            $.ajax({
            url: "http://localhost:8983/solr/select",
            data: { 
                q: request.term,
                fl: "name",
                wt: 'json',
            }, 
            dataType: "jsonp",
            jsonp: 'json.wrf',

            success: function(data){
                var regex = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + request.term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi");
                var result = $.map(data.response.docs, function(item){
                    return item.name.replace(regex, "<strong>$1</strong>");
                });
                response( result );
            }
          }); 
         },
        minLength: 2
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点,例如:

使用<strong>$1</strong>

更改<strong class='thick'>$1</strong>

然后将其添加到您的css:

strong.thick {font-weight:bold;}