1

我想使用 CF 和 SQL 填充 2 个 HTML 元素 SELECT,第一个选择获取的是来自 TABLE Stakes 中所有元素的选项,第二个 SELECT 获取的是来自 TABLE Wards 的选项,其中元素具有与选项中相同的 StakeId在第一个 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>

谁能帮我?

4

1 回答 1

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>
于 2013-09-26T23:53:48.790 回答