jquery - 我希望搜索结果仅在它匹配整个单词而不是它的一部分时才返回(jquery 搜索)
问题描述
我的网站上有一个搜索功能,用户可以在其中搜索不同的关键字,然后带有这些标签的对象将填充在搜索栏下方。我的问题是我只返回与整个单词匹配的结果。现在,例如,如果我搜索“男性”,它将返回也包含“女性”的结果,因为那是该词的一部分。希望我正确地解释了这一点。这是代码:
var $input = $('#myInput');
$input.on('keyup', search)
function myFunction(e) {
// Declare variables
var $q, $el, tags, match, tags;
$q = e.target.value
var $list = $container.children('li')
if ($q.length < 2) {
$list.hide();
return;
}
console.log('list', $list)
queryTags = $q.split(',').map(tag => tag.trim())
console.log('tags', tags)
$list.each(function(index, el) {
$el = $(el)
tags = $el.attr('data-tags')
for (var j = 0; j < queryTags.length; j++) {
match = tags.match(queryTags[j])
if (queryTags.every(queryTag => tags.includes(queryTag)))
$el.show();
else $el.hide();
}
})
解决方案
推荐阅读
- python - 根据用户的时区显示 Django Admin DateTimeField
- c# - 在 F# 中使用可为空的引用类型
- java - 如何在自定义注释中获取默认消息中的字段名称?
- database - MongoDB——单个字段的 TTL / 过期?
- javascript - 五个输入取决于两个选择的值
- xaml - 如何为标签文本添加边框/轮廓?
- javascript - 最后创建带有按钮的平面列表的最佳方法是什么?用 Firebase 反应本机
- python - 按允许的列值组合列表过滤 df
- go - K8s中如何根据与pod的交互获取用户的ip
- flutter - 在 Flutter 中保存抽屉的状态