2012-09-27 37 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

确实;我错了,这是有效的。 –