我正在创建一个表单,出于某种原因,当使用带有远程CFC的bindOnLoad
时,我的默认值似乎没有出现。
这是cfselect:
<cfselect name="edcs"
id="edcs"
multiple="false"
bind="cfc:Components.requestSearch.getEDCs()"
bindonload="true"
value="edc_nm"
display="edc_nm">
<option name="">Select an EDC</option>
</cfselect>
这是功能:
<cffunction name="getEDCs" access="remote" returntype="query">
<cfscript>
var queryService = new Query();
queryService.setDatasource("#APPLICATION.db2system#");
queryService.setName("getEDCs");
queryService.setUserName("#APPLICATION.db2logon#");
queryService.setPassword("#APPLICATION.db2pass#");
queryService.setSQL(
"select distinct rtrim(edc_nm) as edc_nm
from #APPLICATION.db2owner#.pms_account");
var result = queryService.execute();
var edcs = result.getResult();
return("#edcs#");
</cfscript>
</cffunction>
因此,当页面加载时,我会看到显示的<option ...>
值一瞬间,然后填充列表,Select an ECD
消失。我需要选择一个空值,这是该选项的用途。我究竟做错了什么?感谢。
补充:根据CF10文档,我应该可以使用<option>
html标记。
http://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7afe.html
答案 0 :(得分:2)
我使用CFSELECT和绑定CFC遇到了这个问题。我也无法添加带有绑定CFSELECT的<option></option>
标记。最好的方法是创建查询并强制结果在顶部具有所需的输入。例如:
SELECT distinct
rtrim(edc_nm) as edc_nm_display,
rtrim(edc_nm) as edc_nm_value
FROM #APPLICATION.db2owner#.pms_account
UNION
SELECT
'Select an EDC' as edc_nm_display,
'0' as edc_nm_value
FROM dual
ORDER BY 2
这将通过顶部的“选择EDC”返回您的查询。
另外,作为支票,我认为<option name="">Select an EDC</option>
应为<option value="">Select an EDC</option>
。我希望有所帮助。
答案 1 :(得分:1)
查询将需要返回该值。尝试将其添加为UNION语句。
答案 2 :(得分:1)
回归不是一个功能...
return("#edcs#");
尝试将您的功能更改为...
var result = queryServices().execute().getResult();
return result;