我目前正在尝试创建一个<select>
下拉列表,它将<option>
根据URL
变量(或默认值)选择哪个。但是,我不希望我的选项列表看起来像;
name_az, name_za, 最新, 最旧
因为这不是很用户友好,但我也不想在我的代码中使用这些;
名称 AZ(默认)、名称 ZA、最新频段、最旧频段
因为显然这让我自己做更多的工作。
我可以手动创建每个选项列表并<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
列表中的值的地方?