0

我正在使用 bind 属性填充一个 cfselect 框。我希望能够从两个下拉列表中进行选择,然后根据该选择填充 CFTEXTAREA。我以为我可以发出类似的绑定属性命令,但 textarea 输出:

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

氟氯化碳代码:

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

1 回答 1

3

但 textarea 输出:[object Object]

这通常意味着您要返回一个复杂的对象,而需要一个简单的字符串。[object Object]本质上是复杂对象的字符串表示形式(在您的情况下是查询)。

TextArea 旨在显示单个值。所以你的绑定函数应该返回一个字符串,而不是一个查询对象。

<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>
于 2012-09-27T20:02:04.503 回答