Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 在Jekyll搜索中限制搜索结果_Javascript_Jquery - Fatal编程技术网

Javascript 在Jekyll搜索中限制搜索结果

Javascript 在Jekyll搜索中限制搜索结果,javascript,jquery,Javascript,Jquery,我一直试图在我的网站中包含的搜索脚本中限制搜索结果,但没有成功 以下是原始脚本: jQuery(函数(){ //使用要搜索的字段以及boost初始化lunr。 window.idx=lunr(函数(){ 此.field('id'); 此字段(“标题”); this.field('content',{boost:10}); 此字段(“类别”); }); //获取生成的search_data.json文件,以便lunr.js可以在本地进行搜索。 window.data=$.getJSON('/se

我一直试图在我的网站中包含的搜索脚本中限制搜索结果,但没有成功

以下是原始脚本:

jQuery(函数(){
//使用要搜索的字段以及boost初始化lunr。
window.idx=lunr(函数(){
此.field('id');
此字段(“标题”);
this.field('content',{boost:10});
此字段(“类别”);
});
//获取生成的search_data.json文件,以便lunr.js可以在本地进行搜索。
window.data=$.getJSON('/search.json');
//等待数据加载并将其添加到lunr
window.data.then(函数(加载的数据){
$.each(加载的_数据、函数(索引、值){
window.idx.add(
$.extend({“id”:index},值)
);
});
});
//提交表单时发生的事件
$(“#站点搜索”)。提交(功能(事件){
event.preventDefault();
var query=$(“#搜索框”).val();//获取文本字段的值
var results=window.idx.search(query);//获取lunr以执行搜索
显示搜索结果(results);//将结果交给其他人显示
});
功能显示搜索结果(结果){
var$search_results=$(“#search_results”);
//等待数据加载
window.data.then(函数(加载的数据){
//有结果吗?
如果(结果长度){
$search_results.empty();//清除所有旧结果
//迭代结果
results.forEach(函数(结果){
变量项=加载的_数据[result.ref];
//为此结果生成一个HTML片段
var appendString='
  • '; //将代码段添加到结果集合中。 $search\u results.append(appendString); }); }否则{ //如果没有结果,请让用户知道。 $search_results.html(“
  • 未找到任何结果”
  • ”; } }); }
    });您遇到了什么错误,您的for循环看起来很好

    另一种方法是限制迭代结果的数量

    results.slice(0, 5).forEach(function (result) {
      // snip
    })
    
    替换已有结果的现有迭代。forEach


    即使结果少于5个,这也会起作用,如果结果超过5个,则将采用前5个。

    非常感谢您的回复,Caio。在上面的代码中,我应该把这个数组#切片片段放在哪里?另外:我得到的错误是,在执行搜索时,结果根本没有显示,相反,它只会重定向到404页面。我已经更新了答案,试图解释在哪里使用切片调用。再次感谢Oliver。切片阵列工作得很有魅力。我很高兴它帮助解决了您的问题!也许可以考虑接受这个答案?