将查询结果数组传递给jQuery Autocomplete源属性
我试图将查询结果传递给jquery autocomplete的源属性时遇到问题…
这里我想将head1数组发送到jquery代码,Jquery自动完成代码如下所示。
$(function() { var availableTags = head1; $("#k").autocomplete({ source:availableTags }); });
如何将head1传递给availableTags
首先,你的cfloop除了使用相同的结果listtoarray
运行valuelist
和listtoarray
什么都不做。 把它放在查询循环中是没有意义的。 请参阅valueList的详细信息
您可以在CF中执行以下操作:
ColdFusion有一个很好的函数叫做toScript
创建一个JavaScript或ActionScript表达式,将ColdFusion变量的值分配给JavaScript或ActionScript变量。 此函数可以将ColdFusion字符串,数字,数组,结构和查询转换为定义等效变量和值的JavaScript或ActionScript语法。
要使用CFarrays创建JSarrays,您可以执行以下操作:
$(function() { var #ToScript(head1, "availableTags")#; $("#k").autocomplete({ source:availableTags }); });
toScript的输出看起来像
var availableTags = new Array(); availableTags[0] = "something"; availableTags[1] = "something else"; availableTags[2] = "another something"; availableTags[3] = "even more something";
我用serializeJson解决了这个问题..你刚给了我另一个好方法……(toScript)…谢谢…… 🙂
$(function() { var states = #serializeJson(head1)# $("#k").autocomplete({ source:availableTags }); });