【发布时间】:2026-01-21 10:45:01
【问题描述】:
我目前正在尝试创建一个<select> 下拉列表,它将根据URL 变量(或默认值)选择哪个<option>。但是,我不希望我的选项列表看起来像;
name_az、name_za、最新、最旧
因为这不是很用户友好,但我也不想在我的代码中使用这些;
名称 A-Z(默认)、名称 Z-A、最新频段、最旧频段
因为显然这让我自己的工作量更大。
我可以手动创建每个选项列表并对每组选项进行<cfif> 检查以选择所需的选项。但是,正如任何设计师都知道的那样,当您可以创建一个循环列表并简单地向该列表添加两个值时,这会产生很多额外的、不需要的工作。
以下是我目前拥有的代码;
<select>
<cfset sortlist = "name_az|Name A-Z (Default),name_za|Name Z-A,newest|Newest Bands,oldest|Oldest Bands">
<cfoutput>
<cfloop list="#sortlist#" delimiters="," index="sortpair">
<cfloop list="#sortpair#" delimiters="|" index="sortphrase">
<option value="#sortphrase#">#sortphrase#</option>
</cfloop>
</cfloop>
</cfoutput>
</select>
我希望它返回这个:
<select>
<option value="name_az">Name A-Z (Default)</option>
<option value="name_za">Name Z-A</option>
<option value="newest">Newest Bands</option>
<option value="oldest">Oldest Bands</option>
</select>
但是,显然我要求它在列出的任何地方返回sortphrase,所以它将返回如下:
<select>
<option value="name_az">name_az</option>
<option value="Name A-Z (Default)">Name A-Z (Default)</option>
<option value="name_za">name_za</option>
<option value="Name Z-A">Name Z-A</option>
etc..
</select>
有没有办法创建一个<cfloop>,我可以在其中循环x 列表中的值数量?
【问题讨论】:
标签: arrays list loops coldfusion