根据标签对 dojox 移动 ListItem 进行排序

Posted

技术标签:

【中文标题】根据标签对 dojox 移动 ListItem 进行排序【英文标题】:sorting dojox mobile ListItem against label 【发布时间】:2013-10-01 10:48:20 【问题描述】:

我想按标签字母顺序对 dojox mobile ListItem 进行排序。我的 DOM 中的标签如下所示:

<div class="subject">Sort alphabetically against me only</div>
<span class="bomtype"> don't sort against me. </span>

我想按标签中具有class="subject" 的文本升序排序。我正在使用 Dojo 1.9.1。

【问题讨论】:

最简单的方法是将列表项放在具有排序功能的某种 dojo 存储(例如 ItemFileReadStore)中,并以编程方式创建列表小部件。 @tik27 你能告诉我一些参考代码吗,因为我对 dojox 很陌生。 一个例子可以看这里:dojotoolkit.org/reference-guide/1.9/dojox/mobile/… 【参考方案1】:

您可以使用 dojox/mobile/EdgeToEdgeStoreList 或 dojox/mobile/RoundRectStoreList,例如:

<ul data-dojo-type="dojox/mobile/EdgeToEdgeStoreList"
    data-dojo-props='store: store, query:, queryOptions: sort: [attribute: "label", descending: true]'></ul>

请注意,如文档所述,EdgeToEdgeDataList 和 RoundRectData 列表在 Dojo 1.9 中已弃用。

【讨论】:

对不起阿德里安,它不工作......它说错误“ReferenceError: store is not defined in data-dojo-props”......谢谢 当然,你需要在你的javascript代码中定义'store'对象,你这样做了吗?只需按照 dojox/mobile/tests/test_EdgeToEdgeStoreList.html 中的示例(例如),或 dojotoolkit.org/reference-guide/1.9/dojox/mobile/… 中的示例。 是的,我没有定义“商店”,但您提供的链接没有信息 我指出了一个测试/样本和 EdgeToEdgeStoreList 的参考文档,它们都提供了定义商店的具体示例。出于某种原因,参考文档的链接已损坏,请重试:dojotoolkit.org/reference-guide/1.9/dojox/mobile/…(前两个示例涵盖了编程和标记用例)。

以上是关于根据标签对 dojox 移动 ListItem 进行排序的主要内容,如果未能解决你的问题,请参考以下文章

更改 Dojox.Mobile.Heading 的标签属性

使用 dijit.byId w dojox.mobile 小部件

Dojo 1.4 - IE 8 dojox.charting 标签未显示 -> dojox.gfx

根据数据样式 Dojox Grid Row

dojox.grid.EnhancedGrid 和 dojox.grid.DataGrid 的继承关系

织梦栏目页如何根据栏目数量来分页?