我在这里发现了一个帖子,但现在我找不到了。它类似于:
<cfinput type="checkbox" name="distlist" checked="<cfif #phlst_DistList# EQ Y> yes <cfelse> no </cfif>">
(#phlst_DistList#从cfquery获取它的值)
我没有收到任何CF错误,但显示查询结果的表单是空白的。如果我将cfinput类型更改为文本,一切正常,我在文本字段中得到一个Y.
认为这是一个SQL问题,我将字段的数据类型从char(1)更改为bit并将该字段中的Y替换为1,将我的输入标记更改为:
<cfinput type="checkbox" name="distlist" checked="<cfif #phlst_DistList# EQ 1> yes <cfelse> no </cfif>">
但我得到了相同的结果,一张空白表格。
我在这里缺少什么?
马洛
答案 0 :(得分:2)
我建议您避开<cfinput>
以及其他<cfform>
标记;他们不值得这么麻烦。
那就是说,我不知道你是否可以在<cfif>
标签内使用<cfinput>
。我认为你有两个选择,一个:
<cfset isChecked = "no" />
<cfif phlst_DistList EQ "Y">
<cfset isChecked = "yes" />
</cfif>
<cfinput type="checkbox" name="distlist" checked="#isChecked#">
请注意,可以使用三元运算符?:
压缩条件:
<cfset isChecked = phlst_DistList EQ "Y" ? "yes" : "no" />
这引出了我的第二个选择:
<cfinput type="checkbox" name="distlist" checked="#(phlst_DistList EQ 'Y'?'yes':'no')#">