我想使用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>
任何人都可以帮助我吗?
答案 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>