我使用 list.js 作为快速排序元素列表的一种方式。我现在设置了它,搜索框能够按照任何参数排序,但我想设置它,例如,第一个框将按名称排序,然后第二个框将按 type 或 type2 排序。
在我的示例中,这将允许用户使用第一个框按名称搜索,然后使用第二个框进一步细化结果。我担心我认为解决方案可能是什么,即包含另一个字段更少的数据副本,并且隐藏框搜索,但即使在那种不太理想的情况下,我也不确定采用名称搜索来翻译在该搜索中找到的结果的方法。
这就是我到目前为止所拥有的,这一切都像一个魅力,但任何帮助推动它朝着我需要的方向发展都会有所帮助。
<div id="results">
<input class="search" /><br />
<span class="sort" data-sort="name">Sort by Pokemon Name</span><br />
<span class="sort" data-sort="type">Sort by Pokemon Type</span><br />
<span class="sort" data-sort="type2">Sort by Second Type</span><br />
<span class="sort" data-sort="number">Sort by Number</span><br />
<ul class="list"></ul>
</div>
<script>
var options = {
item: '<li><h3 class="name"></h3><p class="type"></p><p class="type2"></p></li>'
};
var values = [
{name: 'Bulbasaur', type: 'Grass', type2: 'Poison', number: '001'}
, {name: 'Ivysaur', type: 'Grass', type2: 'Poison', number: '002'}
, {name: 'Venusaur', type: 'Grass', type2: 'Poison', number: '003'}
];
var pokeList = new List('results', options, values);
</script>