Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.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
将搜索结果加载到divjQuery和rails中_Jquery_Ruby On Rails_Ajax_Forms_Load - Fatal编程技术网

将搜索结果加载到divjQuery和rails中

将搜索结果加载到divjQuery和rails中,jquery,ruby-on-rails,ajax,forms,load,Jquery,Ruby On Rails,Ajax,Forms,Load,在我的rails应用程序中,我有一个搜索栏,用户可以在其中搜索其他用户。当前,当用户从提交搜索时,他们将被重定向到“结果”页面。我想在同一页的div中加载这些结果。。我可以通过我的网站导航链接做到这一点,但我对jQuery和rails还很陌生,无法理解这一点 我的jQuery对应于我的导航链接: $(function() { $('#links a').live('click', function() { $('#pages').load(this.href).fadeI

在我的rails应用程序中,我有一个搜索栏,用户可以在其中搜索其他用户。当前,当用户从提交搜索时,他们将被重定向到“结果”页面。我想在同一页的div中加载这些结果。。我可以通过我的网站导航链接做到这一点,但我对jQuery和rails还很陌生,无法理解这一点

我的jQuery对应于我的导航链接:

$(function() {
    $('#links a').live('click', function() {
        $('#pages').load(this.href).fadeIn('slow');
        return false;
    });
});
我尝试对搜索功能执行相同的操作

$(function() {
  $("input#search").parents("form").submit(function() {
    $('#pages').slideUp('slow').load(this.href).slideDown('slow');
    return false;
  });
});
任何帮助都将不胜感激~同时为新手提供一些有用的jQuery教程

我的表格:

<div id="search_bar">
  <form action="/search" method="get">
    <input class="tb10" id="search" name="search" onclick="this.select();" type="text" value="Find Users" />
  </form>
</div>


尝试
返回false。返回false将取消在元素上触发的默认事件。

在第一个示例中,您将事件绑定到一个锚点,该锚点具有一个href元素,读取该元素可以知道从何处获取链接

在第二种情况下,看起来您已经复制并粘贴了适用于链接的内容。您需要知道表单的处理位置(表单的操作),以及作为表单数据传递给它的内容。这在jquery中是这样做的:(我假设#search是搜索表单的id)

我对RoR不是很熟悉,但jquery应该是可靠的:)


希望有帮助

目前我无法给出RoR示例,但我认为答案都是关于JQuery的

基本上,我看到这是通过一个ajax请求来完成的,以获得搜索结果,并通过一个模板系统(如jquery模板或Mustach)来显示结果

这种方法将使您更容易生成html,而不是试图将网页压缩到div中

JQuery模板:
Rails小胡子:

我刚刚做了一个测试,尝试发出警报(“test”),好像jQuery没有找到我的表单ID?在我的rails应用程序中,我使用:id=>“search”指定form_标记。。我的表单(实际上只是一个文本字段)没有提交按钮。。。要使用。提交我需要一个吗?如果
#search
识别了
标记,那么
submit()
将不起作用,您需要绑定到
click()
submit()
仅适用于
标记据我所知,sbeam是正确的。如果要提交搜索表单,可以更改表单ID,或使用$(“input#search”).parents(“表单”).submit();谢谢你,扎克,我得到了回应警报的代码(“你好,世界”);。所以我知道Jquery正在找到正确的元素,但是页面仍然没有加载到div中。。。实际上,文本字段不再响应,我只看到动画。我已经更新了这篇文章,以反映我现在的情况。谢谢你的回复,是的,这是一篇复制粘贴的文章。我想rails会做所有的后台工作,我可以将rails吐出的html重定向到一个div中。嗯,好的,我来看看,谢谢,我想知道“模板”是什么
$(function(){
     $("#search").submit(function(){
         var queryString = $(this).serialize(); //gets the values in your form
         var url = $(this).attr("action"); //your action url
         $("#pages").load(url+"?"+queryString).fadeIn('slow');
         return false; //this prevents your form from doing its default behavior.
     });
});