从下拉列表中获取id,将其发送到控制器,加载数据并重新加载页面

时间:2016-11-04 23:54:41

标签: javascript jquery html ruby-on-rails ajax

我想显示一个下拉列表,从value参数向控制器发送id,然后加载数据并重新加载页面。

想象一下。您是页面的管理员。您有所有用户的列表。现在您想要查看特定用户的项目和帖子以及评论。您有一个下拉列表,选择用户,数据将加载他的项目,帖子和评论。现在您想要查看其他用户的数据。和以前一样,您将在下拉列表中选择另一个用户,数据将重新加载,您将在同一页面上看到它们。

到目前为止,我知道如何制作一个下拉列表并获取jQuery代码的id:

<%= select_tag "construction_id", options_from_collection_for_select(@constructions, "id", "title"), :onchange => "constructions_dropdown(this.value)", class: "form-control", id: "dropdown_const" %>

HTML看起来像这样:

<select class="form-control" id="dropdown_const" name="construction_id" onchange="constructions_dropdown(this.value)">
    <option value="25">My construction</option>
    <option value="26">Another construction</option>
</select>

如果我选择另一种结构,我会得到这个ID:

function constructions_dropdown(construction_id) {
    alert(construction_id)
}

但现在呢?我还在索引页面上。那么也许我应该制作一个form_tag?我应该如何将construct_id发送到控制器并确保id不是nil然后加载数据?因为我认为页面的重新加载应该通过提交表格来完成。

1 个答案:

答案 0 :(得分:0)

如果您使用的是jQuery,则应使用Jquery Ajax来获取所需的信息。从结果中,您可以重新加载或打印新信息http://api.jquery.com/jquery.ajax/