Loops 字母表上的Coldfusion顺序
我在这样的迭代中循环:Loops 字母表上的Coldfusion顺序,loops,coldfusion,iteration,cfloop,Loops,Coldfusion,Iteration,Cfloop,我在这样的迭代中循环: <cfloop condition="depFeedIterator.hasNext()"> <cfset item=depFeedIterator.next()/> <ul><li>#item.getValue('title')</li></ul> </cfloop> #item.getValue('title') 这将返回我所有的标题。但是我必须按照字母顺序组织这
<cfloop condition="depFeedIterator.hasNext()">
<cfset item=depFeedIterator.next()/>
<ul><li>#item.getValue('title')</li></ul>
</cfloop>
- #item.getValue('title')
这将返回我所有的标题。但是我必须按照字母顺序组织这些标题(这是在bean本身中完成的)。因此,我添加了以下内容:
<cfif #left(#item.getValue('title')#,1)# == "a">
<li><h2>A</h2></li>
etc
A
等
但如果我有两个以A开头的标题,我会得到:
AAbc A
Aab 而不是: A
Abc
Aac
我已经玩了一段时间了,还没弄明白。我希望你们有一些建议你们也需要跟踪前一封信,并且只在当前信与前一封信不同时输出标题,例如:
<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>
#当前第一个字母#
您还可以阅读“”以了解磅符号的用法。您还需要跟踪上一个字母,并且仅当当前字母与上一个字母不同时才输出标题,例如:
<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>
#当前第一个字母#
关于磅符号的用法,你也可能从阅读“”中受益。
- 项。getValue('title')
似乎缺少一个
@FishBelowtheIce啊,很抱歉错过了这个,它在我的代码中是正确的。为什么
中有这么多
会更有效。为了未来读者的利益,您也应该在这里使用它。- \item.getValue('title')
似乎缺少一个
@FishBelow。啊,很抱歉,我的代码中没有这个,它是正确的。为什么
中有这么多
会更有效率。为了将来读者的利益,你也应该把它放在这里。非常聪明!想不到这个。非常感谢。非常聪明!想不到这个。非常感谢。