【问题标题】:Using custom tag CF_TwoSelectsRelated does not populate the 2nd SELECT box使用自定义标签 CF_TwoSelectsRelated 不会填充第二个 SELECT 框
【发布时间】:2013-01-18 05:22:47
【问题描述】:

我正在使用 ColdFusion CF_TwoSelectsRelated 自定义标签 by Nate Weiss 填充两个动态 SELECT 框。该标签位于 CFFunction 中。第 2 个 SELECT 框基于第 1 个 SELECT 框的选择。我的第一个 SELECT 框很好,但它没有在我的第二个 SELECT 框中填充结果。这是我的代码:

<CFFunction ...>
    <CFQuery Name="Variables.AcctDelegationQuery" DataSource="#Request.ReportDataSource#" maxrows="301" blockfactor="100">
        SELECT distinct oa.op_location_code loc,
        oa.op_fund_num op_fund_num,
        oa.op_location_code||'-'||oa.op_fund_num loc_fund,
        oa.chart_num chart_num,
        oa.acct_num acct_num,
        oa.chart_num||'-'||oa.acct_num chart_acct
        FROM ...
        WHERE ...
        group by  oa.op_location_code, oa.op_fund_num , oa.op_location_code||'-'||oa.op_fund_num, oa.chart_num, oa.acct_num , oa.chart_num||'-'||oa.acct_num
        order by loc_fund, chart_acct
    </CFQuery>

    <CF_TwoSelectsRelated
        QUERY="Variables.AcctDelegationQuery"
        NAME1="LocFund"
        NAME2="ChartAcct"
        DISPLAY1="loc_fund"
        DISPLAY2="chart_acct"
        VALUE1="loc_fund"
        VALUE2="chart_acct"
        FORCEWIDTH1="30"
        FORCEWIDTH2="30"
        SIZE1="1"
        SIZE2="1"
        HTMLBETWEEN="<td>"
        EMPTYTEXT1="(Select a Fund)"
        EMPTYTEXT2="(Select an Account)"
        ONCHANGE=""
        FORMNAME="">
</CFFunction>

谢谢, 冯克芳

【问题讨论】:

  • 最好的办法是不使用那些自定义标签。因此,如果您仍有修改代码的空间,请改用 JS(例如:JQuery 等)和 AJAX 调用来执行此操作。 TwoSelectsRelated.cfm 可能在十年前就有一席之地,但现在已经没有了。
  • 谢谢。我正在使用 AJAX 来实现动态选择。

标签: coldfusion coldfusion-10


【解决方案1】:

无济于事,在我的脑海中,我不记得它是什么......但是...... 原来的自定义标签有bug。

我向 Nate 提交了更改,但那是很久以前的事了,我实际上不记得收到过回复。

不过——我不再使用它了。我通常会选择 jQuery 解决方案。 同样,您可能会发现此 S.O 帖子很有帮助:Using javascript and jquery, to populate related select boxes with array structure

【讨论】:

    【解决方案2】:

    我建议您根本不要使用该标签。两个主要原因是

    1. 它是在 2002 年编写的,与当时相比,实现相关选择的方法要好得多。

    2. 它基于单个查询,限制了它的实用性。

    我认为现在最好的方法是将您的 2 个 cfselects 绑定到 cfc 中的方法。 cfselect 和 cfinput 的文档会有例子。

    【讨论】:

    • 我建议使用基于 JavaScript 的方法而不是使用 cfselect
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多