2013-01-18 56 views
0

我使用的ColdFusion CF_TwoSelectsRelated自定義標籤by Nate Weiss填充兩個動態的選擇框。該標籤位於CFFunction中。第二個SELECT框基於第一個SELECT框中的選擇。我的第一個SELECT框很好,但它不會在我的第二個SELECT框中填充結果。這裏是我的代碼:使用自定義標籤CF_TwoSelectsRelated不填充第二個選擇框

<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> 

感謝, Kefang豐

+0

這裏最好的做法是*不*使用這些自定義標籤。所以,如果你仍然有修改你的代碼的範圍,使用JS(例如:JQuery等)和AJAX調用來做到這一點。 TwoSelectsRelated.cfm可能在十年前有一個地方,但它不再有。 –

+0

謝謝。我正在使用AJAX來實現動態選擇。 – tigerpuzzle

回答

0

我建議您不要使用該標記在所有。這兩個主要原因是

  1. 它是2002年寫的,有很多更好的方法來實現相關選擇比那時更好。

  2. 正是基於這限制了它的用處單一查詢。

我認爲現在最好的方法是將你的2個cfselect綁定到cfc中的方法。關於cfselect和cfinput的文檔將會有例子。

+1

我會推薦使用基於JavaScript的方法,而不是使用'cfselect' –

2

沒有幫助,從我的頭頂開始,我不記得它是什麼......但是...... 原始自定義標記中存在一個錯誤。

我向Nate提交了更改,但這是很久以前的事了,我實際上並不記得得到答覆。

儘管如此 - 我不再使用它。我通常會選擇jQuery解決方案。 同樣,你可能會發現這個S.O後有幫助:Using javascript and jquery, to populate related select boxes with array structure

相關問題