【发布时间】:2013-08-19 14:26:30
【问题描述】:
我想使用 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>
谁能帮帮我?
【问题讨论】:
-
您需要使用的不仅仅是 CF 和 HTML。为了在选择第一个
<select>后在第二个<select>中加载选项,您需要使用 JavaScript。甚至有 ColdFusion 库来帮助在 ColdFusion 中实现这一点。搜索“ColdFusion 相关选择” - 但忽略任何使用cfajaxproxy的解决方案 -
最简单的方法是使用 cfselect 标签的 bind 属性。这个标签的文档有一个例子。
-
不要使用
cfselect...它会把你画到角落里。立即学习如何以正确的方式进行操作,避免以后遇到麻烦。 -
我不确定我是否同意使用
cfselect是“最简单的” :D 如果您想使用带有<optgroup>的选择框,最好使用连接2 的单个查询表,然后使用cfoutput上的group属性 -
您是使用两个选择还是一个带有 optgroup 取决于您要完成的任务。你是唯一知道这一点的人。
标签: html sql coldfusion forms cfquery