无法获得CFIF表达式来正确比较2个相等的值

时间:2016-10-13 16:33:55

标签: coldfusion expression

对于我的生活,当CFIF运算符使用2个相等的字段时,我无法EQ给我一个真实的结果。以下是CF代码:

<select class="form-control" name="sales_contact_id">
    <cfoutput query="rc.getPartnerContacts">
        <cfif rc.getPartnerContacts.id EQ rc.getPartner.sales_contact_id>
            <cfoutput><option  value="#rc.getPartnerContacts.id#" selected="selected">#fname# #lname#</option>
            </cfoutput>
        <cfelse>
            <cfoutput><option  value="#rc.getPartnerContacts.id#">#fname# #lname# #rc.getPartner.sales_contact_id#</option>
            </cfoutput>
        </cfif>
    </cfoutput>
</select>

我将#rc.getPartner.sales_contact_id#放入选项文本中以显示变量的值。

这是HTML输出:

<select name="sales_contact_id" class="form-control">
    <option value="1">David Elliott 2</option>
    <option value="2">James Knight 2</option>
    <option value="3">Fred Bloggs 2</option>
    <option value="4">John Doe 2</option>
    <option value="5">Jane Smith 2</option>
</select>

rc.getPartner.sales_contact_id字段的值为2,与“詹姆斯奈特”字段的id字段相同。记录rc.getPartnerContacts recordset。对于James Knight记录,CFIF语句应该为true,因此该选项是下拉列表中的默认选项。我尝试使用val(),我尝试从另一个中减去一个,然后使用CFIF EQ 0但仍然无法工作!

我确定这是一个非常简单的错误但我无法看到它!

2 个答案:

答案 0 :(得分:0)

这是一种格式化的评论。如有疑问,请查看您的数据。

 <cfdump var="#rc.getPartnerContacts#">
 <cfoutput query="rc.getPartnerContacts">
 <cfif rc.getPartnerContacts.id EQ rc.getPartner.sales_contact_id>
 yes
 <cfelse>
 no ID is #id# and sales contact id is #rc.getPartner.sales_contact_id#
 </cfif>
 <br>

答案 1 :(得分:0)

一个facepalm时刻 - <cfoutput>中的<cfoutput>导致了问题。