首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CFC绑定到cfselect框

将CFC绑定到cfselect框
EN

Stack Overflow用户
提问于 2012-10-30 22:37:58
回答 3查看 3.2K关注 0票数 3

我正在创建一个表单,无论出于什么原因,当使用带有远程CFC的bindOnLoad时,我的默认值似乎不会出现。

下面是cfselect:

代码语言:javascript
复制
<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>

下面是函数:

代码语言:javascript
复制
<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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-01 18:03:06

我在使用CFSELECTs和绑定CFCs时遇到过这个问题。我也无法添加绑定了CFSELECT的<option></option>标记。最好的方法是创建查询,并强制结果在顶部具有所需的输入。例如:

代码语言:javascript
复制
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

这将返回顶部带有“Select an EDC”的查询。另外,作为检查,我认为<option name="">Select an EDC</option>应该是<option value="">Select an EDC</option>。我希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2012-10-30 22:51:50

查询将需要返回该值。尝试将其添加为UNION语句。

票数 1
EN

Stack Overflow用户

发布于 2012-11-01 12:34:15

返回不是一个函数...

代码语言:javascript
复制
return("#edcs#");    

尝试将您的函数更改为...

代码语言:javascript
复制
var result = queryServices().execute().getResult();
return result;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13141330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档