use*_*216 2 html coldfusion html-select oracle11g coldfusion-2016
我的下拉字段存在问题,该字段由大型查询动态填充.由于当用户访问表单时查询返回一个非常大的值,表单冻结.这就像是在等待下拉列表的填充.与此同时,所有表单格式都搞砸了,下拉列表消失了.当我将查询限制为较少数量的记录时,一切正常.此查询返回超过26K的记录.有没有解决方法来解决ColdFusion中的这个问题?我不相信ColdFusion无法处理这种情况.我正在使用ColdFusion2016和后端Oracle 11g.
这是查询和下拉列表:
<cfquery name="xCodes" datasource="#application.DSN#">
select xcode, desc, xcode || ' ---- ' || desc as FullDesc
from x_header
<cfif IsDefined("url.codes")>
<cfif url.codes EQ "y">
order by xcode
<cfelse>
order by desc
</cfif>
</cfif>
</cfquery>
<select name="xcode" id="xcode" class="RegSelect" required="TRUE">
<option value="">--- Select a code ---</option>
<cfoutput query="xCodes">
<option value="#xcode#">#FullDesc#</option>
</cfoutput>
</select>
Run Code Online (Sandbox Code Playgroud)
小智 6
我同意Alex Poole的选择中的26K项目相当大,在我看来,你的浏览器的渲染引擎正在努力构建它,这就是为什么你的格式在它最终构建之前是不可靠的.
以下是一些建议.
是否可以将值分解为逻辑组并使用多个选择?因此,您的第一个选择将是逻辑组值.一旦用户选择了他们的选择,下一个选择将只包含该逻辑组中的值.如果不存在这样的逻辑分组,那么您可以自己编写.例如,您可以使用字母表中的26个字母作为逻辑组,然后您的子选择将平均包含1000个选项.
另一个建议是使用jQuery自动完成并通过ajax调用填充您的值.我已经使用ColdFusion和Oracle多次完成了这项工作并且效果很好.