我使用jQuery在Rails 3上。关于如何处理来自同一操作的多个函数的应用程序,我遇到了一个小问题。
在我的Show动作中,我有两件事情,Ajax分页,然后是轻量级的实时搜索(通过Ryan Bate的Railscasts)。这些的Ajax看起来像:
分页:
$(function() {
$(".pagination a").live("click", function() {
$.getScript(this.href);
return false;
});
});
和搜索:
$(function() {
$("#songs_search input").keyup(function() {
$("#search_songs ul").show();
$.get($("#songs_search").attr("action"), $("#songs_search").serialize(), null, "script");
return false;
});
});
这两项工作都很好。我正在努力的是在我的show.js.erb文件中响应这些脚本,我不知道如何只同时响应其中一个动作,我的show.js.erb文件如下所示: / p>
$("#list_songs").append("<%= escape_javascript(render(@list_songs)) %>"); #pagination
$("#search_songs").html("<%= escape_javascript(render("songs/search")) %>"); #searching
问题是,对于搜索的每个密钥,show.js.erb文件都会响应并添加更多分页。如何在运行适当的脚本时将这些响应隔离开来?
由于
答案 0 :(得分:1)
您可以向脚本发送一个变量,表示称为它的操作(点击或键盘),然后当您收到响应时,您可以执行适当的操作,添加分页或显示结果。