自动完成不返回输出

时间:2013-02-13 09:31:18

标签: javascript jquery ajax coldfusion

如何通过使用ajax动态附加表单字段值来检索查询结果?

 <script> 
  $(document).ready(function() {
    $("textbox").autocomplete({
        source: function(query, response) {
            $.ajax({
                url: "/xxx/sample.cfc?method=queries&returnformat=json",
                dataType: "json",
                data: {
                    searchKeyword: query.term
                },
                success: function(result) {
                    response(result);
                }
            });
        }
    });
  });
 </script>

我已尝试过以下代码,但无法获得输出。这种方式是否正确?

如何通过将searchKeyword传递给sample.cfc来获取记录?在sample.cfc中编写的逻辑是什么?

1 个答案:

答案 0 :(得分:0)

也许您唯一的问题是您没有正确定位文本框。 将代码更改为

<input type="text" id="textbox">
 <script> 
  $(document).ready(function() {
    $("#textbox").autocomplete({
        source: function(query, response) {
            $.ajax({
                url: "/xxx/sample.cfc?method=queries&returnformat=json",
                dataType: "json",
                data: {
                    searchKeyword: query.term
                },
                success: function(result) {
                    response(result);
                }
            });
        }
    });
  });
 </script>

正确地为我提交,使用firebug显示URL params(在输入字段后输入我的名字后):

方法查询

returnformat json

searchKeyword andrew

(注意:如果你在标签内,则必须将选择器更改为##文本框)

一个非常简单的 sample.cfc 只会将您的搜索关键字返回给您看起来像

component{

    remote function queries() {
        return url.searchKeyword;
    }

}

除非这只是一个学习练习,否则我建议使用jquery小部件来保存你自己编写一个完整的自动完成程序。