微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

提交表单后保留下拉列表值

如何解决提交表单后保留下拉列表值

| 我有一个表格,其中用户将一首诗的评分从1到3。我的代码如下:
<select name=\"rating\">
<cfif len(duplicateCheck.score)><option value=\"#duplicateCheck.score#\">You scored:  #duplicateCheck.score#</option>
<cfelse><option value=\"\">&ndash; Rate This Poem &ndash;</option>
</cfif>
<option value=\"1\">1</option>
<option value=\"2\">2</option>
    <option value=\"3\">3</option>
 </select> 
如果用户已经对这首诗进行了评分,那么我正在尝试选择他们以前的分数。如果不是,则用户可以选择1-3。我应该怎么做?     

解决方法

        取决于您存储用户已经对这首诗进行评级的事实。但是从高层次来看:
<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>
那么,您是否已经掌握了用户是否对这首诗进行评分?还是这是实际的问题?     ,        如果您遍历选项列表,则可以动态地执行此操作。
<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>
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。