使用带有条件的SQL和CF填充HTML SELECT

时间:2013-08-19 14:26:31

标签: html sql coldfusion html-form cfquery

我想使用CF和SQL填充2个HTML元素SELECT,第一个选择获取来自TABLE Stakes中所有元素的选项,第二个SELECT获取来自TABLE Wards的选项,其中元素具有与选项中相同的StakeId在第一个SELECT中选择。 我一直试图这样做几个小时,但我无法开始工作第二个SELECT。 这是我的代码:

第一次选择

<CFQUERY NAME="getStakes" DATASOURCE="#APPLICATION.ds#">
    SELECT * FROM Estacas
</CFQUERY>

<SELECT NAME="Stakes">
    <CFOUTPUT QUERY="getStakes">
        <OPTION VALUE="#estId#">#estName#</OPTION>
    </CFOUTPUT>
</SELECT>

第二次选择

<CFQUERY NAME="getWards" DATASOURCE="#APPLICATION.ds#">
    SELECT * FROM Alas WHERE estId = form.Stakes
</CFQUERY>

<SELECT NAME="Stakes">
    <CFOUTPUT QUERY="getWards">
        <OPTION VALUE="alaId">#alaName#</OPTION>
    </CFOUTPUT>
</SELECT>

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

我终于找到了使用cf和html解决问题的最佳方法,Scott Stroz是对的,关于使用group属性但当时我不知道他在说什么,这样就没有必要使用其他语言,如javascript。 谢谢斯科特,尽管我知道这个哈哈后才发现你在说什么。

<cfquery name="getAlasEstacas" datasource="#APPLICATION.ds#">
    SELECT a.alaId, a.alaName, e.estName 
    FROM alas a
    INNER JOIN estacas e ON e.estId = a.estId
    ORDER BY e.estName, a.alaName
</cfquery>
<select name="AlaId">
    <cfoutput query="getAlasEstacas" group="estName">
        <optgroup label="#estName#">
            <cfoutput>
                <option value="#alaId#">#alaName#</option>
            </cfoutput>
        </optgroup>
    </cfoutput>
</select>