1

我有一个项目列表,并希望让用户可以选择跳转到他们想要的字母。

例如,屏幕顶部的字母 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>
4

2 回答 2

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>
于 2012-11-07T16:08:11.053 回答
2

使用锚。在您的列表中,为第一个带有起始字母的项目提供一个 ID,如下所示:

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

然后在您的字母列表中链接到它:

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

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

于 2012-11-07T15:59:51.993 回答