CF10 Jquery自动填充下拉名称不对用户正在键入的文本进行排序

我有一个CF10function,我试图找出如何使自动完成工作正常。 当我开始在文本框中键入名称时,查询将删除所有名称,但不进行排序以匹配键入的字符。 我的searchPhrase和query.term有问题吗? 任何人都可以分享一些指导我如何修复文本框只下拉与用户输入内容相对应的名称?

   SELECT CONCAT(assoc_last, ' ', assoc_first) AS whole_name FROM table WHERE assoc_status = 'ACTIVE'        

JS

  $(document).ready(function() { $("#name").autocomplete({ source: function(query, response) { $.ajax({ url: "redirects/autocomplete.cfc?method=queryNames&returnformat=json", dataType: "json", data: { searchPhrase: query.term }, success: function(result) { response(result); } }); } }); });  

尝试:

   SELECT CONCAT(assoc_last, ' ', assoc_first) AS whole_name FROM table WHERE assoc_status = 'ACTIVE' and assoc_last NOT LIKE 'Test%' and len(assoc_last) > 0 AND ( assoc_last like 'searchPhrase%' or assoc_first like 'searchPhrase%') ORDER BY assoc_last        

这是一种格式化的评论。 一次做一件事。 一旦工作正常,不要改变它。

第1步 – 让您的查询工作。 如果可能,首先使用数据库客户端执行此操作,然后将sql代码复制到ColdFusion。 否则,创建除cfquery和cfdump标记之外的任何内容的.cfm文件。

第2步 – 让您的查询在函数内部工作。 将查询放入步骤1中相同.cfm文件的函数中,并从该页面调用它。 此步骤包括将参数传递给该函数。

第3步 – 让您的函数返回预期的结果。 在你的情况下,你想要一个数组,所以一定要一个。

第4步 – 将您的函数复制到cfc并从cfm文件中调用它。 确保设置对远程的访问权限。

第5步 – 从javascript调用您的函数。