Использование пользовательского тега CF_TwoSelectsRelated не заполняет второе поле SELECT.

Я использую пользовательский тег ColdFusion CF_TwoSelectsRelated автор Nate Weiss для заполнения двух динамических полей SELECT. Тег находится в CFFunction. 2-е поле ВЫБОР основано на выборе из 1-го поля ВЫБОР. Мое первое поле 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>

Спасибо, Кефанг Фэн.


person tigerpuzzle    schedule 18.01.2013    source источник
comment
Лучше всего здесь не использовать эти пользовательские теги. Поэтому, если у вас все еще есть возможность пересмотреть свой код, используйте для этого вызовы JS (например, JQuery и т. д.) и AJAX. Сайт TwoSelectsRelated.cfm мог иметь место десять лет назад, но больше его нет.   -  person Adam Cameron    schedule 20.01.2013
comment
Спасибо. Я использую AJAX для реализации динамического выбора.   -  person tigerpuzzle    schedule 24.01.2013


Ответы (2)


К моему бесполезному событию, я не могу вспомнить, что это было... но... В исходном пользовательском теге есть ошибка.

Я отправил изменение Нейту, но это было давно, и я вообще не помню, чтобы получил ответ.

Тем не менее - больше не пользуюсь. Обычно я выбираю решение jQuery. Точно так же вы можете найти этот пост SO полезным: ">Использование javascript и jquery для заполнения связанных полей выбора со структурой массива

person Gavin Baumanis    schedule 18.01.2013

Я предлагаю вам вообще не использовать этот тег. Две основные причины

  1. Он был написан в 2002 году, и есть гораздо лучшие способы добиться связанного выбора, чем тогда.

  2. Он основан на одном запросе, что ограничивает его полезность.

Я думаю, что лучший способ сделать это сейчас — связать ваши 2 cfselects с методами в cfc. В документации по cfselect и cfinput есть примеры.

person Dan Bracuk    schedule 18.01.2013
comment
я бы рекомендовал использовать подход, основанный на JavaScript, вместо использования cfselect - person Matt Busche; 19.01.2013