- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用tinysort作为我使用jquery mobile构建的移动应用程序的一部分。我的应用程序查找用户位置附近的地点,并且我希望能够快速对结果进行排序,而不必花时间重新查询数据库。
所以,我想做的是能够使用tinysort根据用户是否在该区域最喜欢的地方然后按距离重新排序结果,此外我希望能够按属性排序“benthere”如果用户标记他们去过某个地方。
这就是我想做的:按最爱排序:
$("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 或其他解决方案完成此任务的想法都将受到赞赏!
最佳答案
我知道 Mottie 的解决方案有效,但似乎有点复杂......调用 tsort 两次对我来说有效:
listOfItems.tsort({data:sorter, order:direction})
.tsort({data: sorterAlt, order:direction})
就您而言,它是(如果 ''
仅指所选项目,您可以删除它们):
$("ul#places>li").tsort({order:"desc",attr:"myfav"})
.tsort({order:"asc",attr:"dist"})
$("ul#places>li").tsort({order:"desc",attr:"beenthere"})
.tsort({order:"asc",attr:"dist"})
按照 Mottie 的建议,还可以使用 HTML5 的 data-attrname
样式。您始终可以在 tsort 中使用 data: attrname
。
希望它仍然可以帮助您或其他人!
关于jquery - Tinysort按多个属性排序(超过1个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7546232/
我在一个页面上有多个 html 表,每个表都有一个标题行。当我单击该列标题时,它应该按该列对所有表进行排序。我特别提到的列包含一个 anchor ,用于文本显示整数值。 当我单击列标题时,我遇到了错误
我正在使用 TinySort 制作排行榜/高分,当我只有正确排序的数字时,它工作得很好。但是当然,我需要在每个乐谱前加上一个名字,所以当我这样做时,它会按字母顺序对它进行排序,因为有字符。 注意:我正
我正在考虑使用 tinysort对复杂的 div 列表进行排序这是首先尝试 html S5 S5-2 S5-1
我无法让 TinySort 将缺少属性的元素放在已排序元素下方。 “place”和“emptyEnd”等选项根本不会改变顺序。 请看一下: https://jsfiddle.net/dm8cz4ra/
我正在尝试将所有 使用 TinySort 将项目移至列表顶部: Name 1 Name 2 Name 3 Name 4 Name 5 我需要覆盖用 PHP
鉴于此观点: " %> Office Order Summary Office Order Summary " name="OfficeId"
Tinysort documentation表示区分大小写的排序可以配置为: tinysort.default.cases = true; 我已将该配置 JavaScript 添加到我的网页中,位于带
我目前正在使用 tinysort.js 插件,我想根据数组对一些 div 进行排序。我不确定如何使用 tinysort 解决这个问题。 这是我目前拥有的: html: banana
我想用 Tinysort 对此列表进行排序通过使用 LI 元素的第一个 TIME 元素。 John John
这是 live site我在胡闹。 每张图片上的数字是通过 get_field() 使用 php 调用的。 (我正在使用插件“高级自定义字段”创建一个字段,在创建帖子时我在其中输入一个数字,在这种情况
我有以下结构的一系列列表项。我正在尝试使用 Tinysort 对有序列表 class="collection-grid editable ui-sortable"的列表项进行排序。排序的标准是下面双星
我是一名优秀的程序员,十分优秀!