我已经使用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>
例如,如果你搜索“cavities”,你会得到一个预期的结果,而不是“sizzurp”。
任何想法,我可以让这个工作,将非常感谢。
谢谢!
发布于 2015-03-27 03:25:21
我想你忘了设置fuzzysearch插件的选项了。
var fuzzyOptions = {
searchClass: "fuzzy-search",
location: 0,
distance: 100,
threshold: 0.4,
multiSearch: true
};看看FuzzySearch documentation。对变量进行了解释。也许你必须将“距离”设置为另一个范围。("sizzurp“是从第104位开始的--所以也许distance:200会很棒)。
https://stackoverflow.com/questions/28436184
复制相似问题