Javascript Jquery搜索常见问题-轻微修改

Javascript Jquery搜索常见问题-轻微修改,javascript,jquery,search,Javascript,Jquery,Search,我以前问过一个问题,但我需要更多的信息。我发现了这个搜索常见问题解答项目的好片段: 我想找到一个包含“圆形”和“地球”的问题。但是,如果我在中键入“圆形地球”专门查找它找不到的“圆形地球”。我希望它是一个“和”查询 这是一个简单的修改吗?您需要单独搜索每个术语,并建立一个查询 var term = $(this).val().trim(); var words = term.split(' '); var selector = "#result LI"; for(var i = 0; i

我以前问过一个问题,但我需要更多的信息。我发现了这个搜索常见问题解答项目的好片段:

我想找到一个包含“圆形”和“地球”的问题。但是,如果我在中键入“圆形地球”专门查找它找不到的“圆形地球”。我希望它是一个“和”查询


这是一个简单的修改吗?

您需要单独搜索每个术语,并建立一个查询

var term = $(this).val().trim();

var words = term.split(' ');

var selector = "#result LI";

for(var i = 0; i < words.length; i++){
    selector += ':contains(' + words[i] + ')'
}

$(selector).show();
var term=$(this.val().trim();
变量词=术语拆分(“”);
var选择器=“#结果LI”;
for(var i=0;i
更新:这里有一把小提琴给你,增加了不区分大小写的功能


更新了Fiddle以不区分大小写进行搜索

$(文档).ready(函数(){
$('LI STRONG')。单击(函数(e){
e、 preventDefault();//禁用文本选择
$(this.parent().find('EM').slideToggle();
返回false;//禁用文本选择
});
jQuery.expr[':'].Contains=函数(a,i,m){
返回jQuery(a).text().toUpperCase()
.indexOf(m[3].toUpperCase())>=0;
};
jQuery.expr[':'].contains=函数(a,i,m){
返回jQuery(a).text().toUpperCase()
.indexOf(m[3].toUpperCase())>=0;
};
$(“#搜索”).keyup(函数(e){
var s=$(this.val().trim();
如果(s==''){
$('#result LI').show();
返回true;
}
$(“#结果LI:not(:contains(“+s+”)))).hide();
$('#结果LI:contains('+s+'))。show();
返回true;
});
});//结束文档准备就绪
#常见问题解答{
显示:无;
}
#常见问题解答李强{
字体大小:正常;
颜色:#246;
文字装饰:下划线;
光标:指针;
}

搜索

  • 地球有多圆 非常圆。

  • 纸的矩形有多大?

    非常长方形。


因此,如果我使用您的代码并搜索“测试搜索”,它将只显示包含单词“测试”和“搜索”的结果?我可以看到您正在使用修剪和分割函数并以结果为目标,但我不确定如何将其集成。我是否将此代码放在.ready(函数({@James Willson:您必须在搜索框中检查空格;如果有空格,则很可能有人正在搜索2个术语;因此,只有在同时找到这两个术语时才显示结果。明白了。因此,我们每次看到空格(即第2行)时都会拆分.代码对我来说基本上是有意义的,但我对jquery还不熟悉,我不明白你会如何集成它。有人能告诉我或者我应该如何处理它吗?我不知道jquery,我对编码还不熟悉,但我有一个尝试: