来自sql查询的coldfusion复选框值

时间:2015-03-06 01:18:59

标签: checkbox coldfusion

我在这里发现了一个帖子,但现在我找不到了。它类似于:

<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>">

但我得到了相同的结果,一张空白表格。

我在这里缺少什么?

马洛

1 个答案:

答案 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')#">