将查询结果数组传递给jQuery Autocomplete源属性

我试图将查询结果传递给jquery autocomplete的源属性时遇到问题…

    

这里我想将head1数组发送到jquery代码,Jquery自动完成代码如下所示。

       $(function() { var availableTags = head1; $("#k").autocomplete({ source:availableTags }); });   

如何将head1传递给availableTags

首先,你的cfloop除了使用相同的结果listtoarray运行valuelistlisttoarray什么都不做。 把它放在查询循环中是没有意义的。 请参阅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 }); });