0

SQL Server 2012 をデータソースとして Windows Server 2008 R2 Datacenter で Coldfusion 10,0,8,284032 を実行しています。

フォームに 2 つの選択を作成したいと思います。1 つは野生生物保護区の名前を持ち、もう 1 つは保護区が選択された後にその保護区内のトレイルをリストします。ID、trailname、reservenameの列を持つdbテーブルdbo.reserveandtrailに保存とトレイルがあります。

私が問題を抱えているのは、ドロップダウンで保護が選択されているときにトレイルを選択するクエリを発行する方法です。CF を使用するだけでこれを達成することは可能でしょうか、それとも JS/Ajax を調べる必要がありますか?

4

1 に答える 1

0

正直なところ、どちらでもうまく機能します (jQuery/Ajax または Coldfusion のビルトイン ajax 関数)。それは本当にプロジェクトに依存します。現在、アプリケーション内で jQuery に大きく依存していない場合は、Coldfusion がおそらく最も迅速に実装でき、依存関係やインポートはありません。

cfc 関数が正しく構築されていれば、どちらの方法でも機能するため、どちらの方法でも同じように使用できます。

これは Coldfusion の簡単なデモンストレーションです。お役に立てば幸いです。

====html

<cfform name="test" >
    <cfselect name="option1">
        <option value="">--please select--</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
    </cfselect>
    <cfselect name="option2" display="suboption_display" value="suboption_value" bindOnLoad="true" bind="cfc:webroot.jquery.stackoverflow.cascadingselect.applogic.select_binding({option1})" ></cfselect>
</cfform>

==cfc

<cfcomponent>
    <cffunction name="select_binding" access="remote" returntype="query">
        <cfargument name="selected_option" type="string" required="yes">

        <cfset dataset = QueryNew('suboption_display,suboption_value','CF_SQL_VARCHAR,CF_SQL_INTEGER')>

        <cfswitch expression="#arguments.selected_option#">
            <cfcase value="1">
                <cfset r = queryaddrow(dataset,3)>
                <cfset temp = querysetcell(dataset, 'suboption_display', 'black', 1)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 1, 1)> 
                <cfset temp = querysetcell(dataset, 'suboption_display', 'white', 2)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 2, 2)> 
                <cfset temp = querysetcell(dataset, 'suboption_display', 'gray', 3)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 3, 3)> 
             </cfcase>
            <cfcase value="2">
                <cfset r = queryaddrow(dataset,3)>
                <cfset temp = querysetcell(dataset, 'suboption_display', 'red', 1)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 1, 1)> 
                <cfset temp = querysetcell(dataset, 'suboption_display', 'blue', 2)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 2, 2)> 
                <cfset temp = querysetcell(dataset, 'suboption_display', 'green', 3)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 3, 3)> 
            </cfcase>
            <cfcase value="3">
                <cfset r = queryaddrow(dataset,3)>
                <cfset temp = querysetcell(dataset, 'suboption_display', 'yellow', 1)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 1, 1)> 
                <cfset temp = querysetcell(dataset, 'suboption_display', 'orange', 2)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 2, 2)> 
                <cfset temp = querysetcell(dataset, 'suboption_display', 'purple', 3)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 3, 3)> 
            </cfcase>
            <cfdefaultcase>
                <cfset r = queryaddrow(dataset,1)>
                <cfset temp = querysetcell(dataset, 'suboption_display', '--please select option--', 1)> 
                <cfset temp = querysetcell(dataset, 'suboption_value', 0, 1)> 
            </cfdefaultcase>
        </cfswitch>

        <cfreturn dataset>
    </cffunction>
</cfcomponent>
于 2013-06-24T12:00:30.260 に答える