我有一个表格,用户将诗歌从1到3评价。我的代码如下:
<select name="rating">
<cfif len(duplicateCheck.score)><option value="#duplicateCheck.score#">You scored: #duplicateCheck.score#</option>
<cfelse><option value="">– Rate This Poem –</option>
</cfif>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
如果用户已经对这首诗进行了评分,我会尝试选择他们之前的分数。如果没有,用户可以选择1-3。我该怎么做?
答案 0 :(得分:2)
取决于你如何存储用户已经评价诗的事实。但是从很高的层面来说:
<option value="1"<cfif userHasSelected eq 1> selected="selected"</cfif>>1</option>
<option value="2"<cfif userHasSelected eq 2> selected="selected"</cfif>>2</option>
<option value="3"<cfif userHasSelected eq 3> selected="selected"</cfif>>3</option>
那么,你是否已经掌握了用户是否对这首诗进行了评价?或者这是实际的问题吗?
答案 1 :(得分:0)
如果您循环浏览选项列表,则可以动态执行此操作。
<cfloop from="1" to="3" index="thisOption">
<option value="#thisOption#" <cfif userHasSelected eq thisOption> selected="selected"
</cfif>>#thisOption#</option>
</cfloop>
或者你可以移动代码来选择我更喜欢的选项html中的下拉列表。
<cfloop from="1" to="3" index="thisOption">
<cfset variables.selected = userHasSelected eq thisOption? 'selected' : '' />
<option value="#thisOption#" #selected#>#thisOption#</option>
</cfloop>