Jquery自动完成下拉列表名称不按用户键入的文本排序
我有一个CF10函数,我正试图找出如何让自动完成正常工作。当我开始在文本框中键入一个名称时,查询会删除所有名称,但不会进行排序以匹配键入的字符。我的SearchPhase和query.term有问题吗?有没有人能给我一些指导,告诉我如何修复文本框,使其只下拉与用户键入内容相对应的名称Jquery自动完成下拉列表名称不按用户键入的文本排序,jquery,autocomplete,coldfusion,Jquery,Autocomplete,Coldfusion,我有一个CF10函数,我正试图找出如何让自动完成正常工作。当我开始在文本框中键入一个名称时,查询会删除所有名称,但不会进行排序以匹配键入的字符。我的SearchPhase和query.term有问题吗?有没有人能给我一些指导,告诉我如何修复文本框,使其只下拉与用户键入内容相对应的名称 <cffunction name="queryNames" access="remote" secureJSON="false"> <cfargument name="search
<cffunction name="queryNames" access="remote" secureJSON="false">
<cfargument name="searchPhrase">
<cfquery name="query_names" datasource="dsn">
SELECT CONCAT(assoc_last, ' ', assoc_first) AS whole_name FROM table
WHERE assoc_status = 'ACTIVE'
</cfquery>
<cfset result = arrayNew(1) >
<cfloop query="query_names">
<cfset ArrayAppend(result, query_names.whole_name)>
</cfloop>
<cfreturn result>
</cffunction>
JS
尝试:
这是一个格式化的注释。一次做一件事。一旦某些东西正常工作,就不要改变它 第1步-让您的查询开始工作。如果可能,首先使用数据库客户机执行此操作,然后将sql代码复制到ColdFusion。否则,创建一个.cfm文件,除了cfquery和cfdump标记外,不包含任何内容 第2步-让查询在函数中工作。将查询放入步骤1中相同.cfm文件上的函数中,并从该页面调用它。此步骤包括向该函数传递参数 第3步-让函数返回预期结果。在你的情况下,你需要一个数组,所以一定要得到一个 第4步-将函数复制到cfc并从cfm文件调用它。确保将访问权限设置为远程
步骤5-从javascript调用函数。这是一个格式化的注释。一次做一件事。一旦某些东西正常工作,就不要改变它 第1步-让您的查询开始工作。如果可能,首先使用数据库客户机执行此操作,然后将sql代码复制到ColdFusion。否则,创建一个.cfm文件,除了cfquery和cfdump标记外,不包含任何内容 第2步-让查询在函数中工作。将查询放入步骤1中相同.cfm文件上的函数中,并从该页面调用它。此步骤包括向该函数传递参数 第3步-让函数返回预期结果。在你的情况下,你需要一个数组,所以一定要得到一个 第4步-将函数复制到cfc并从cfm文件调用它。确保将访问权限设置为远程
第5步-从javascript调用函数。在查询中放入where子句。在查询中放入where子句。
<script type="text/javascript">
$(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);
}
});
}
});
});
</script>
<cfquery name="query_names" datasource="dsn">
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
</cfquery>
<cfset result = arrayNew(1) >
<cfloop query="query_names">
<cfset ArrayAppend(result, query_names.whole_name)>
</cfloop>
<cfreturn result>
</cffunction>