Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何突出显示单词jqueryui自动完成_Jquery_Ajax_Jquery Ui - Fatal编程技术网

如何突出显示单词jqueryui自动完成

如何突出显示单词jqueryui自动完成,jquery,ajax,jquery-ui,Jquery,Ajax,Jquery Ui,我正在数据库中使用此脚本。我想突出显示如下键入的单词:www.docs.jquery.com/Plugins/Autocomplete。请帮帮我。看起来正在运行的有一个突出显示方法 您可以通过抓取regex-this-highlight方法并使用它修改从ajax请求发送回数据库的结果来重新创建: $("#example").autocomplete({ source: function(request, response) { $.ajax({ u

我正在数据库中使用此脚本。我想突出显示如下键入的单词:www.docs.jquery.com/Plugins/Autocomplete。请帮帮我。

看起来正在运行的有一个突出显示方法

您可以通过抓取regex-this-highlight方法并使用它修改从ajax请求发送回数据库的结果来重新创建:

$("#example").autocomplete({
    source: function(request, response) {
        $.ajax({
            url: "search.php",
            dataType: "json",
            data: request,
            success: function( data ) {

                var regex = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + request.term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi");
                var result = $.map(data, function(value){
                    return value.replace(regex, "<strong>$1</strong>");
                });
                response( result );
            }
        });
    }
});
$(“#示例”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“search.php”,
数据类型:“json”,
数据:请求,
成功:功能(数据){
var regex=newregexp((?![^&;]+;)(?!)(?![^&;]+;),“gi”);
变量结果=$.map(数据、函数(值){
返回值。替换(regex,“$1”;
});
反应(结果);
}
});
}
});

在服务器端添加
包装可能会更明智,因为它很可能已经在每个结果上循环了。

我必须根据这一点修改代码以使其工作

        $("#searchBox").autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "search.php",
                dataType: "json",
                data: request,
                success: function( data ) {
                    var escapedTerm=request.term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1");
                    var regex = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + escapedTerm + ")(?![^<>]*>)(?![^&;]+;)", "gi");
                    var result = $.map(data, function(value){
                        //console.log(value);
                        value.label=value.label.replace(regex, "<span class='highlight'>$1</span>");
                        return value;
                    });
                    response(result);
                }
            });
        },
        minLength: 3
    })
    .data('autocomplete')._renderItem = function( ul, item ) {
        return $( "<li></li>" )
            .data( "item.autocomplete", item )
            .append( '<a>' + item.label + '</a>' )
            .appendTo( ul );
    };
$(“#搜索框”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“search.php”,
数据类型:“json”,
数据:请求,
成功:功能(数据){
var escapedTerm=request.term.replace(/([\^\$\(\)\[\]\{\\\\*.\+\?\\\;\\])/gi,“\\$1”);
var regex=newregexp((?![^&;]+;)(?!)(?![^&;]+;),“gi”);
变量结果=$.map(数据、函数(值){
//console.log(值);
value.label=value.label.replace(regex,“$1”);
返回值;
});
反应(结果);
}
});
},
最小长度:3
})
.data('autocomplete')。\u renderItem=功能(ul,项目){
返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“”+item.label+“”) .附录(ul); };
    您的第二个链接不起作用,不确定您想要什么