私は現在、従業員感謝賞の Web アプリに機能を追加する ColdFusion (CF) プロジェクトに取り組んでいます。
私が抱えている問題は、選択された Web ページに戻るときに cfselect 値を保持する方法です。
現在、nomination.cfm は #1 ドロップダウン メニューにサブ部門の名前を入力します。これは、nomination.cfc cffunction getDept から呼び出されます。それが選択されると、「部門」が cfargument として nomination.cfc cffunction getEmp に渡されます。
1. Select the location where your nominee works:
<cfselect name="department" bind="cfc:nominee.getDept ()" bindonload="true" />
2. Select the nominee from the list below
<cfselect name="employee" bind="cfc:nominee.getEmp ({department})" />
このコードはすべて、summary.cfm に送信される cfform 内にあります。summary.cfm には、nomination.cfm に戻る編集ボタンがあります。使った
<input type="button" value=" Edit " onclick="history.go(-1);">
しかし、#1 と #2 は選択した値を保持せず、代わりに元のドロップダウン メニュー リストにデフォルト設定されました。cfcバインディングは「選択」できないというドキュメントを読んだので、途方に暮れています。よろしくお願いします。
以下は、nomination.cfc コードです。
<!--- Get array of media types --->
<cffunction name="getDept" access="remote" returnType="array">
<!--- Define variables --->
<cfset var data="">
<cfset var result=ArrayNew(2)>
<cfset var i=0>
<!--- Get data --->
<cfquery name="data" datasource="HatsOff">
SELECT account_number, account_title
FROM departments
<cfif session.vdept is not "All" and session.vdept is not "Letter">
WHERE [departmentname] = '#session.vdept#'
</cfif>
ORDER BY account_title
</cfquery>
<!--- Convert results to array --->
<cfloop index="i" from="1" to="#data.RecordCount#">
<cfset result[i][1]=data.account_number[i]>
<cfset result[i][2]=data.account_title[i]>
</cfloop>
<!--- And return it --->
<cfreturn result>
</cffunction>
<!--- Get art by media type --->
<cffunction name="getEmp" access="remote" returnType="array">
<cfargument name="department" type="string" required="true">
<!--- Define variables --->
<cfset var data="">
<cfset var result=ArrayNew(2)>
<cfset var i=0>
<!--- Get data --->
<cfquery name="data" datasource="HatsOff">
SELECT emp_id, emp_full_name
FROM employees
WHERE account_number = '#ARGUMENTS.department#'
ORDER BY emp_full_name
</cfquery>
<!--- Convert results to array --->
<cfloop index="i" from="1" to="#data.RecordCount#">
<cfset result[i][1]=data.emp_id[i]>
<cfset result[i][2]=data.emp_full_name[i]>
</cfloop>
<!--- And return it --->
<cfreturn result>
</cffunction>
</cfcomponent>