Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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
Javascript 用HTML和AJAX实现的搜索栏,没有给出期望的结果_Javascript_Jquery_Ruby On Rails_Ruby_Ajax - Fatal编程技术网

Javascript 用HTML和AJAX实现的搜索栏,没有给出期望的结果

Javascript 用HTML和AJAX实现的搜索栏,没有给出期望的结果,javascript,jquery,ruby-on-rails,ruby,ajax,Javascript,Jquery,Ruby On Rails,Ruby,Ajax,以本教程为指导,我尝试实现自己的搜索栏,它允许用户开始输入另一个用户名,并将该用户(如果在数据库中)作为下拉选择选项 但是,当我运行代码并键入某些内容时,什么也没有发生。。我对Ruby、Rails和jquery/ajax非常陌生,所以如果这是显而易见的事情,我道歉 这是我的密码: customers_search.html.erb: <form id = "live-search-form" method = get action = "<%= search_customers_pa

以本教程为指导,我尝试实现自己的搜索栏,它允许用户开始输入另一个用户名,并将该用户(如果在数据库中)作为下拉选择选项

但是,当我运行代码并键入某些内容时,什么也没有发生。。我对Ruby、Rails和jquery/ajax非常陌生,所以如果这是显而易见的事情,我道歉

这是我的密码:

customers_search.html.erb:

<form id = "live-search-form" method = get action = "<%= search_customers_path %>">
  <input id="search-box" name = "query" type="text" placeholder="find colleagues" />
</form>
<div id="search-results"></div>
这是我的application.js文件:

var main = new function(){

    $('#search-box').bind("keyup", function(){


        var form = $("#live-search-form"); //gets form wrapping search bar
        var url = "/customers/_search"; //_search action
        var formData = form.serialize(); //gets data in the form
        $.get(url, formData,function(html){  //perform an AJAX get

            $('#search-results').html(html);
        });

    });
}

$(document).ready(main);
我是不是错过了一个AJAX插件或者其他东西?还是我的实际搜索方法有问题?我怎样才能解决这个问题? 我试图将用户键入的任何内容与客户的:first_name或:last_name进行匹配

谢谢各位


我现在已经停止嵌套我的两个表单,并将它们并排放置。我还修复了我的“主要”未定义错误。我的搜索栏仍然没有收到任何响应。

您的开发工具的控制台选项卡中发生了什么?您的“搜索”视图看起来如何?@PraveenKumar我不知道您的意思,如何检查?@Scrig按
F12
并单击
控制台
:)@archana它显示为带有占位符的文本输入块。当我键入“s”来搜索数据库中我知道的用户时,什么也没有发生。
var main = new function(){

    $('#search-box').bind("keyup", function(){


        var form = $("#live-search-form"); //gets form wrapping search bar
        var url = "/customers/_search"; //_search action
        var formData = form.serialize(); //gets data in the form
        $.get(url, formData,function(html){  //perform an AJAX get

            $('#search-results').html(html);
        });

    });
}

$(document).ready(main);