我的索引页面上有一个表单,用于对记录进行排序,我想向它添加一些 Ajax 功能,但由于某种原因,它不会在我将 Ajax 添加到组合中后立即发送我的表单参数。
这是我的表格:
<div id="sort-options">
<%= form_tag uploads_path, :method => "get", :remote => true do %>
<%= select_tag "sort", options_for_select([["Creation Date", "created_at"], ["File Name", "name"], ["Rating", "rating_average"], ["Downloads", "downloads"]]) %>
<%= select_tag "direction", options_for_select([["Descending", "desc"], ["Ascending", "asc"]]) %>
<%= submit_tag "Sort" %>
<% end %>
</div>
还有我的 Ajax javascript:
jQuery(document).ready(function($)
{
$(function () {
$('#sort-options input, .pagination a').live("click", function () {
$.get(this.href, null, null, 'script');
return false;
});
});
});
当我单击提交按钮并查看我的 Firebug 控制台以查看发生了什么时,很明显它成功地调用了 Ajax 并且它为页面提供服务没有问题。但是,它完全忽略了我发送的参数,并且在重新查询数据库时没有考虑到这一点。如果我取出':remote => true'并删除指向Ajax文件的链接,则参数成功地被发送回索引操作 - 只是没有Ajax :(
我应该补充一点,Ajax 目前适用于我在同一页面上的分页。