Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
Javascript jQuery将html添加到结果中_Javascript_Jquery_Css_Autocomplete_Format - Fatal编程技术网

Javascript jQuery将html添加到结果中

Javascript jQuery将html添加到结果中,javascript,jquery,css,autocomplete,format,Javascript,Jquery,Css,Autocomplete,Format,我的输入数组有: results[num_row] = { 'title': title, 'url': url, 'support_url': support_url, 'description': description, 'contacts': contacts }; 我得到了结果: function formatItem(item){ var highlight = $.Autocompleter.defaults.highlight;

我的输入数组有:

results[num_row] = {
    'title': title,
    'url': url,
    'support_url': support_url,
    'description': description,
    'contacts': contacts
};
我得到了结果:

function formatItem(item){
   var highlight = $.Autocompleter.defaults.highlight;
   var temp = '<span class="title">' + highlight(item.title, term)  + '</span>';
   temp += '<br />&nbsp;&nbsp;' + item.description;
   return temp;
} 

function prep(){
$("#searchbox").autocomplete(results,{
    width:500,
    scroll:false,
    formatItem: formatItem,
    highlight: false

}).result(function(event, item) {
    location.href = item.url;
});
}
我希望能够添加标记到返回的内容中,以便使用css覆盖颜色。例如,我想做如下事情:

formatItem: function(item) {
    var temp = '<span class="title">' + item.title + </span> + '<br />&nbsp;&nbsp;' + <span class="description"> + item.description + </span>;
    return temp;
}
当我尝试像那样内联添加标记时,它将输入搜索标准更改为具有该文本标记。所以我必须输入搜索字符串,才能进行搜索,而不是搜索字符串


谢谢。

正在通过选项运行您的功能。请稍后突出显示。尝试指定返回源字符串的突出显示函数:

$("#searchbox").autocomplete(results, {
    formatItem: function(item, foo, bar, term) {
        var highlight = $.Autocompleter.defaults.highlight;
        var temp = '<span class="title">' + highlight(item.title, term)  + '</span>';
        temp += '<br />&nbsp;&nbsp;' + item.description;

        return temp;
    },

    highlight: false
}).result(function(event, item) {
    location.href = item.url;
});

确保您正在转义item.title以防止XSS攻击

我修正了格式,但是在第二个和第三个代码块中有语法错误。我不确定他们是否是故意的。你看见他们了吗?请修正它们以避免误会。谢谢你让它更容易阅读。我以后一定会这么做的。请告诉我语法错误是什么。这是我第一次使用jQuery和javascript,你知道我的问题的答案吗?再次感谢您。您有一个额外的“使一半代码变为红色,您有一个游荡的}。请仔细查看代码是如何突出显示的。两个块中都有一些单引号缺失或太多,第二个块中也有一个}太多。哦,我明白了,那是因为我没有粘贴所有代码。谢谢,我想你是对的。我看了这个问题,发现几乎是同一个问题。现在正在尝试实施。有没有人能帮我写下高亮显示需要的代码。我试过了,但没能破解它。@specked,请看我的编辑。我不知道autocomplete插件是如何工作的,所以这只是一个猜测。谢谢,我添加了它,并对代码进行了一些清理,使其更具可读性。我得到了一个术语未定义的错误var-temp=+highlightitem.title,term+@specked,您缺少formatItem函数中添加的参数。术语是第四个参数参数参数[3]。