Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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自动完成,ColdFusion不显示结果_Jquery_Coldfusion_Autocomplete_Cfc - Fatal编程技术网

Jquery自动完成,ColdFusion不显示结果

Jquery自动完成,ColdFusion不显示结果,jquery,coldfusion,autocomplete,cfc,Jquery,Coldfusion,Autocomplete,Cfc,我一直在尝试使用jQuery和ColdFusion作为数据源来创建自动完成。我在stackoverflow上使用了其他场景,但它似乎不起作用。我可以在firebug中显示结果,但键入3个字符后,自动完成值不会显示 这是我的CFC: <cfcomponent> <cffunction name="lookupOrg" access="remote" returntype="String" > <cfargument name="search"

我一直在尝试使用jQuery和ColdFusion作为数据源来创建自动完成。我在stackoverflow上使用了其他场景,但它似乎不起作用。我可以在firebug中显示结果,但键入3个字符后,自动完成值不会显示

这是我的CFC:

<cfcomponent>
    <cffunction name="lookupOrg" access="remote" returntype="String" >
        <cfargument name="search" type="any" required="false" default="">

        <!--- Define variables --->
        <cfset var data="">
        <cfset var result=ArrayNew(1)>

        <!--- Do search --->
        <cfquery name="data">
            SELECT name
            FROM org
            WHERE lower(name) LIKE '#ARGUMENTS.search#%'
            ORDER BY name
        </cfquery>

        <!--- Build result array --->
        <cfloop query="data">
            <cfset returnStruct = StructNew() />
            <cfset returnStruct["label"] = name />

            <cfset ArrayAppend(result,returnStruct) />
        </cfloop>

        <!--- And return it --->
        <cfreturn serializeJSON(result) />
    </cffunction>
</cfcomponent>
以下是我的jQuery&HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>Untitled</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>

    <script>
        $(document).ready(function() {
          $('#Org').autocomplete({
            source: function(request, response) {
              $.ajax({
                url: "getData.cfc?method=lookupOrg&returnformat=json",
                dataType: "json",
                data: {
                  search: request.term,
                  maxRows: 10
                },
                success: function(data) {
                  response(data);
                }
              });
            },
            parse: function(data) {
              return $.map(data, function(item) {
                return {
                  data: item,
                  value: item,
                  result: item
                };
              });
            }
          });
        });
    </script>
</head>
<body>
    <div class="row">   
        <div class="span9">
            <input size="34" type="text" name="Org" id="Org" value="" />
        <div id="results"></div>
        </div>
    </div>
</body>
</html>
这就是我在Firebug中键入tes时显示的内容,但autocomplete没有显示任何值。任何帮助都会很好


[{label:TEST,L.L.C}]

我认为您使用的是jQueryUI的自动完成小部件,因为您包含了jQueryUI。我认为它没有解析选项、方法或事件1。因此,jQuery代码应如下所示:

        $('#Org').autocomplete(
            {source: function(request, response) {
                $.ajax({
                    url: "getData.cfc?method=lookupOrg&returnformat=json",
                    dataType: "json",
                    data: {
                    search: request.term,
                    maxRows: 10
                },
                success: function(data) {
                  response($.map(data, function(item) {
                     return { label: item.label, value: item.label };
                  }));
                }                   
            })
         }
      });
如果你只传送一组名字,你的网络会更容易吗

    <cfloop query="data">
        <cfset ArrayAppend(result, name) />
    </cfloop>

发布完整的json数据。与您的问题无关,但1-使用查询参数,2-使用returnStruct变量变量,3-将搜索参数设置为必填,并去掉默认值。