我有一个星期五下午的时刻,我真的很难按照我的意愿对这些物品进行分类!
我有一个列表,将通过从两个下拉列表中进行选择来过滤。一个用于属性,另一个用于值。然后我想根据两个下拉列表对列表进行排序。
因此,例如,用户可能选择值为 30 的 attr4。然后我想按升序对列表进行排序,首先是匹配项,然后是不匹配项。即下面的这个列表:
<ul>
<li data-attr1="10" data-attr2="20" data-attr3="30" data-attr4="40" data-attr5="50">Option 1</li>
<li data-attr1="20" data-attr2="30" data-attr3="40" data-attr4="50" data-attr5="10">Option 2</li>
<li data-attr1="30" data-attr2="40" data-attr3="50" data-attr4="10" data-attr5="20">Option 3</li>
<li data-attr1="40" data-attr2="50" data-attr3="10" data-attr4="20" data-attr5="30">Option 4</li>
<li data-attr1="50" data-attr2="10" data-attr3="20" data-attr4="30" data-attr5="40">Option 5</li>
</ul>
然后看起来像这样:
<ul>
<li data-attr1="50" data-attr2="10" data-attr3="20" data-attr4="30" data-attr5="40">Option 5</li>
<li data-attr1="10" data-attr2="20" data-attr3="30" data-attr4="40" data-attr5="50">Option 1</li>
<li data-attr1="20" data-attr2="30" data-attr3="40" data-attr4="50" data-attr5="10">Option 2</li>
<li data-attr1="40" data-attr2="50" data-attr3="10" data-attr4="20" data-attr5="30">Option 4</li>
<li data-attr1="30" data-attr2="40" data-attr3="50" data-attr4="10" data-attr5="20">Option 3</li>
</ul>
我可以很容易地使用以下方法对整个列表进行排序:
$('ul li').tsort({ data: attribute, order: 'asc'});
但我无法将匹配的项目放在不匹配的项目前面。我尝试使用:
$('ul li').tsort({ data: test, order: 'asc', place: 'start' });
无济于事。谁能发现我做错了什么?任何帮助将不胜感激 - 周五愉快!谢谢!
达伦