Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery自动完成下拉列表名称不按用户键入的文本排序_Jquery_Autocomplete_Coldfusion - Fatal编程技术网

Jquery自动完成下拉列表名称不按用户键入的文本排序

Jquery自动完成下拉列表名称不按用户键入的文本排序,jquery,autocomplete,coldfusion,Jquery,Autocomplete,Coldfusion,我有一个CF10函数,我正试图找出如何让自动完成正常工作。当我开始在文本框中键入一个名称时,查询会删除所有名称,但不会进行排序以匹配键入的字符。我的SearchPhase和query.term有问题吗?有没有人能给我一些指导,告诉我如何修复文本框,使其只下拉与用户键入内容相对应的名称 <cffunction name="queryNames" access="remote" secureJSON="false"> <cfargument name="search

我有一个CF10函数,我正试图找出如何让自动完成正常工作。当我开始在文本框中键入一个名称时,查询会删除所有名称,但不会进行排序以匹配键入的字符。我的SearchPhase和query.term有问题吗?有没有人能给我一些指导,告诉我如何修复文本框,使其只下拉与用户键入内容相对应的名称

<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>