【发布时间】:2011-11-24 15:56:31
【问题描述】:
我正在尝试将 tinysort 用作我使用 jquery mobile 构建的移动应用程序的一部分。我的应用查找用户位置附近的位置,我希望能够快速对结果进行排序,而不必花时间重新查询数据库。
所以,我想要做的是能够使用 tinysort 根据用户在该区域是否有最喜欢的地方然后按距离重新排序结果,另外我希望能够按属性排序“去过那里”,如果用户标记了他们去过某个地方。
这就是我想做的: 按收藏排序:
$("ul#places>li").tsort('',({order:"desc",attr:"myfav"},{order:"asc",attr:"dist"}));
按去过那里排序:
$("ul#places>li").tsort('',({order:"desc",attr:"beenthere"},{order:"asc",attr:"dist"}));
默认排序://这很简单,没有问题:
$("ul#places>li").tsort('',{order:"desc",attr:"dist"});
使用默认列表顺序,例如:
<ul id="places">
<li myfav="0" beenthere="0" dist=".02">Hot Dog Stand</li>
<li myfav="1" beenthere="0" dist=".08">Joe's Shack</li>
<li myfav="0" beenthere="1" dist=".10">Frick frack</li>
<li myfav="1" beenthere="1" dist=".15">Mama's</li>
</ul>
按收藏排序应该返回:
- 乔的小屋
- 妈妈的
- 热狗摊
- 弗里克弗拉克
排序应该返回:
- 弗里克弗拉克
- 妈妈的
- 热狗摊
- 乔的小屋
然后回到按距离排序:
- 热狗摊
- 乔的小屋
- 弗里克弗拉克
- 妈妈的
我在上面对 tsort 的调用无法与多个属性选择器一起使用,或者我的语法错误,或者您无法根据多个条件进行排序。
感谢任何关于我如何使用 tsort 或其他解决方案完成此任务的想法!
【问题讨论】:
标签: jquery jquery-plugins jquery-mobile