我正在使用CF10。我有一个选择:
<cfselect name="company" id="company" query="qcompany" display="placename" value="placeid" queryposition="below">
<option value="0">--Select--
</cfselect>
我有另一个 cfselect 绑定到第一个:
<cfselect name="People" bind="cfc:schedule.GetPeopleArray({company})" ></cfselect>
我无法让第二个 cfselect 显示任何结果。为了测试我是否从我的组件接收数据(我将在底部显示),我绑定了一个文本框:
<cfinput name="test" bind="cfc:schedule.GetPeopleArray({company})" bindonload="false"/>
此文本框每次都显示对我的组件的调用结果,但 cfselect 从不显示任何内容。
我可能做错了什么?
我尝试从我的组件返回数组和查询。没有帮助。我尝试将显示和值属性添加到第二个 cfselect。没有帮助。
这是我的组件:
<cfcomponent output="false">
<cffunction name="GetPeopleArray" access="remote" returnType="array" output="false">
<cfargument name="company" type="string" >
<!--- Define variables --->
<cfset var data="">
<cfset var result=ArrayNew(2)>
<cfset var i=0>
<cfquery name="qEmployee" datasource="texas" >
SELECT 0 as personid,'Select Person' as fullname,0 as sortorder
UNION
SELECT p.personid ,concat(firstname,' ',lastname) as fullname,3 as sortorder
FROM person p
INNER JOIN placeperson pp
ON p.personid=pp.personid
where personstatus='ACT'
and pp.placeid=#arguments.company#
order by sortorder,fullname
</cfquery>
<!--- Convert results to array --->
<cfloop index="i" from="1" to="#qEmployee.RecordCount#">
<cfset result[i][1]=qEmployee.personid[i]>
<cfset result[i][2]=qEmployee.fullname[i]>
</cfloop>
<!--- And return it --->
<cfreturn result>
</cffunction>
</cfcomponent>