我循环遍历这样的迭代:
<cfloop condition="depFeedIterator.hasNext()">
<cfset item=depFeedIterator.next()/>
<ul><li>#item.getValue('title')</li></ul>
</cfloop>
这将返回所有标题。但我必须按字母顺序组织这些标题(这已在bean本身中完成)。所以我添加了这个:
<cfif #left(#item.getValue('title')#,1)# == "a">
<li><h2>A</h2></li>
etc
但如果我有一个以A开头的两个标题,我就得到这个:
A
ABC
A
AAB
而不是:
A
ABC
AAC
我已经玩了一段时间而无法解决这个问题。我希望你们有一些建议
答案 0 :(得分:6)
您也需要跟踪前一个字母,并且仅在当前字母与前一个字母不同时输出标题,例如:
<cfset prevFirstLetter = "">
<cfloop condition="depFeedIterator.hasNext()">
<cfset item=depFeedIterator.next()/>
<cfset itemTitle = item.getValue('title')>
<cfset currentFirstLetter = left(itemTitle,1)>
<cfif currentFirstLetter NEQ prevFirstLetter>
<li><h2>#currentFirstLetter#</h2></li>
<cfset prevFirstLetter = currentFirstLetter>
</cfif>
<!--- etc --->
</cfloop>
关于英镑符号的使用,您还可以阅读“When to use pound-signs”。