我在查询“takType”中填充了更新表单'id =“tak_id”'的下拉列表。下拉框有三个选项“短信,聊天,推文”,有三个不同的值“001,002,003”。
字段中的SELECTED值重复两次。如何使SELECTED值仅出现一次?
代码在
之下<cfselect name="tak_id" id="tak_id">
<cfoutput query="takType">
<option >select one</option>
<option value="#takType.tak_id#" <cfif takType.tak_id IS tak_id > selected </cfif> >
<cfswitch expression="#takType.tak_id#">
<cfcase value="01">SMS </cfcase>
<cfcase value="02">chat </cfcase>
<cfcase value="03">tweet </cfcase>
</cfswitch>
</option>
<option value="01" >SMS</option>
<option value="02" >chat</option>
<option value="03" >tweet</option>
</cfoutput>
</cfselect>
</td>
</tr>
非常感谢 Fransis
答案 0 :(得分:3)
为什么不将cfif语句移动到三个硬编码选项中的每一个?
<cfoutput query="takType">
<option >select one</option>
<option value="01" <cfif takType.tak_id IS "01" >selected</cfif>>SMS</option>
<option value="02" <cfif takType.tak_id IS "02" >selected</cfif>>chat</option>
<option value="03" <cfif takType.tak_id IS "03" >selected</cfif>>tweet</option>
</cfoutput>
</cfselect>
答案 1 :(得分:2)
我认为你的意思是只将cfoutputs包装在第一组周围,然后删除底部的硬编码三。像这样:
<cfselect name="tak_id" id="tak_id">
<option >select one</option>
<cfoutput query="takType">
<option value="#takType.tak_id#" <cfif takType.tak_id IS tak_id > selected </cfif> >
<cfswitch expression="#takType.tak_id#">
<cfcase value="01">
SMS
</cfcase>
<cfcase value="02">
chat
</cfcase>
<cfcase value="03">
tweet
</cfcase>
</cfswitch>
</option>
</cfoutput>
</cfselect>
可能有助于查看该查询的转储,因为这依赖于数据库中的这三个。