从列表中选择A-Z

时间:2012-11-07 15:55:58

标签: list coldfusion coldfusion-8 alphabetical

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

例如,屏幕顶部的字母A-Z,当用户点击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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

使用锚点。在列表中,给第一个带有起始字母的项目,如下所示:

<li id="letter-a">Apple</li>

然后在你的信件列表中链接到它:

<a href="#letter-a">A</a>

(如果您有每个字母的标题,请将ID提供给那些。)