繁体   English   中英

将搜索结果加载到div jquery和rails中

[英]load search results into a div jquery and rails

在我的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>

尝试return false; 在搜索功能中也。 返回false取消默认事件在元素上触发。

在第一个示例中,您将事件绑定到锚点,该锚点具有href元素,其内容旨在了解从何处获取链接。

在第二个中,您似乎已经复制并粘贴了对您的链接有效的内容。 您需要知道在哪里处理表单(表单的动作),以及将什么作为表单数据传递给表单。 这是在jquery中完成的:(我假设#search是您的搜索表单的ID)

$(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.
     });
});

我对RoR不太熟悉,但是jquery应该很扎实:)

希望有帮助!

目前,我无法在此处提供RoR示例,但我认为答案完全与JQuery有关。

基本上,我看到这是通过ajax请求完成的,以获取搜索结果并使用诸如jquery模板或Mustache之类的模板系统显示该结果。

这种方法将使您更容易生成html,而不是尝试将网页泵入div

jQuery模板: http: //api.jquery.com/category/plugins/templates/ Rails的小胡子: https : //github.com/adamsalter/mustache-rails

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM