2012-09-27 36 views
0

我使用綁定屬性填充cfselect框。我希望能夠從兩個下拉菜單中進行選擇,然後根據該選擇填充CFTEXTAREA。我以爲我可以發出一個類似的綁定屬性命令,但textarea輸出:將數據綁定到CFTEXTAREA

[object Object] 

CF8文件說這可能嗎?我錯過了什麼?

表單代碼:

<cfselect name="descriptionDD" value="description" bind="cfc:cfcs.menudata.getData()" bindonload="true" /> 

<cftextarea name="detailDD" value="service_detail" bind="cfc:cfcs.menudata.getDetail({descriptionDD})" bindonload="true" /> 

CFC代碼:

<cfcomponent> 
<!---First Select Box ---> 
<cffunction name="getData" access="remote" returntype="query"> 

    <!--- Function to get data from datasource ---> 
    <cfquery name="data" datasource="ezpay"> 
    select description 
    from service_descriptions 
    order by description 
    </cfquery> 

    <!--- Return results ---> 
    <cfreturn data> 
</cffunction> 

<!---Second Select Box ---> 
<cffunction name="getDetail" access="remote" returnType="query"> 
     <cfargument name="description" type="any" required="true"> 

      <cfquery name="dataDetail" datasource="ezpay"> 
      SELECT service_detail 
      from service_descriptions 
      WHERE description = '#ARGUMENTS.description#' 
      ORDER BY ID ASC 
      </cfquery> 

     <cfreturn dataDetail> 
</cffunction> 

</cfcomponent> 

回答

3

但textarea的輸出:[object Object]

這通常意味着你正在返回一個複雜的對象,其中一個簡單的字符串預計取而代之。 [object Object]本質上是複雜對象的字符串表示形式(在您的情況下是查詢)。

TextArea's旨在顯示單個值。所以你的綁定函數應該返回一個字符串,而不是查詢對象。

<cffunction name="getDetail" access="remote" returnType="string"> 
    <cfargument name="description" type="any" required="true"> 

    <!--- localize function variables ---> 
    <cfset var dataDetail = ""> 
    <cfquery name="dataDetail" datasource="ezpay"> 
     SELECT service_detail 
     FROM service_descriptions 
     <!--- adjust cfsqltype if needed ---> 
     WHERE description = <cfqueryparam valu="#ARGUMENTS.description#" cfsqltype="cf_sql_varchar"> 
     ORDER BY ID ASC 
    </cfquery> 

    <cfreturn dataDetail.service_detail> 
</cffunction> 
+0

你是個天才!!!!!謝謝。 –

+0

確實;我錯了,這是有效的。 –