从列表中选择AZ

Ali*_*ias 1 coldfusion list alphabetical coldfusion-8

我有一个项目列表,并希望为用户提供跳转到他们想要的字母的选项.

例如,屏幕顶部的字母AZ,当用户点击B时,它将它们带到列表的一部分,第一个项目以B开头.

有没有办法用ColdFusion做到这一点?

我的列表使用查询填充.

<table border="1"> 
  <tr> 
    <th>Names</th> 
    <th>Other Stuff</th> 
  </tr> 

<cfoutput query="getnames"> 
  <tr> 
    <td> 
      <li>#getnames.names#</li> 
    </td> 
    <td> 
    <li>#getnames.otherstuff#</li> 
    </td> 
  </tr> 
</cfoutput>
</table>
Run Code Online (Sandbox Code Playgroud)

Tra*_*vis 5

您可以使用命名锚点跳转到页面中的某个位置.假设你跳到一个人的姓氏.

<cfset letters = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z">
<cfoutput>
    <cfloop list="#letters#" index="i">
        <a href="###i#">#i#</a>&nbsp;
    </cfloop>
</cfoutput>

<cfset currentLetter = left(yourQuery.lastName,1)>
<cfoutput query = "yourQuery">
    <cfif currentLetter neq left(yourQuery.lastName,1)>
        <cfset currentLetter = left(yourQuery.lastName,1)>
        <a name = "#currentLetter#" />
    </cfif>
    #yourQuery.lastName#<br />
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

  • 从A到Z循环的一种更简单的方法是<cfloop from ="#ASC('A')#"to ="#ASC('Z')#"index ="Letter">,所以你不要必须全部输入.使用CHR(Letter)回到这封信. (4认同)
  • "评估"将是一次并且不明显.你在可读性方面获得的东西非常值得"性能"打击,至少在我看来. (2认同)