我已经使用了List.js几个月了,它一直很好用。我的项目在我的列表中只有16个左右的项目,但似乎我的项目有很多字符。似乎List.js在某个字符限制后停止计数,但我找不到该文档或解决方法的任何文档。请看我的例子:
var monkeyList = new List('test-list', {
valueNames: ['name'],
plugins: [ ListFuzzySearch() ]
});
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://listjs.com/no-cdn/list.js"></script>
<script src="http://listjs.com/no-cdn/list.fuzzysearch.js"></script>
</head>
<body>
<div id="test-list">
<input type="text" class="fuzzy-search" />
<ul class="list">
<li><p class="name">Guybrush Threepwood</p></li>
<li><p class="name">Elaine Marley</p></li>
<li><p class="name">LeChuck</p></li>
<li><p class="name">Stan</p></li>
<li><p class="name">Voodoo Lady</p></li>
<li><p class="name">Herman Toothrot</p></li>
<li><p class="name">Meathook</p></li>
<li><p class="name">Carla</p></li>
<li><p class="name">Otis</p></li>
<li><p class="name">Rapp Scallion</p></li>
<li><p class="name">Rum Rogers Sr.</p></li>
<li><p class="name">Men of Low Moral Fiber fissure caries cavities prevention preventive preventative pits pedo pediatrics sizzurp</p></li>
<li><p class="name">Murray</p></li>
<li><p class="name">Cannibals</p></li>
</ul>
</div>
</body>
</html>
因此,例如,如果您搜索“蛀牙”,您会得到预期的结果,但不是“sizzurp”
我将非常感谢任何有关如何使其发挥作用的想法。
谢谢!
答案 0 :(得分:0)
我认为您忘记设置fuzzysearch插件的选项。
var fuzzyOptions = {
searchClass: "fuzzy-search",
location: 0,
distance: 100,
threshold: 0.4,
multiSearch: true
};
查看FuzzySearch documentation。解释变量。
可能你必须将“距离”设置为另一个范围。 (“sizzurp”从第104位开始 - 所以也许distance:200
会很棒。)