2016-10-13 67 views
0

對於我的生活,我不能得到CFIF給我一個真正的結果時,使用EQ算子與2個相等的領域。下面是CF代碼:無法獲得CFIF表達式來正確比較2個相等的值

<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,同樣作爲「詹姆斯的騎士」在rc.getPartnerContacts recordset記錄id字段。 James Knight記錄中的CFIF語句應該爲true,因此此選項是下拉列表中的默認值。我試過使用val(),我試過從另一個減去一個,然後使用CFIF EQ 0,但仍然無法使用!

我敢肯定,這是一個非常簡單的錯誤,但我看不到它!

+0

它必須是框架稍作改動。爲了減少粘貼的代碼量有一點變化,但那不是。 –

+0

檢查'rc.getPartnerContacts.id.getClass()。getName()'和'rc.getPartner.sales_contact_id.getClass()。getName()'。 – Alex

回答

0

一捂臉時刻 - 一個<cfoutput><cfoutput>導致的問題。

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> 
+0

..如果沒有明顯的視覺差異,請檢查字符並比較ascii值。 – Leigh