从下拉框中的值获取id,发送给控制器,加载数据并重新加载页面

Get id from value in dropdown, send it to controller, load data and reload page

本文关键字:加载 数据 新加载 控制器 id 获取      更新时间:2023-09-26

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

想象。你是网页管理员。您拥有所有用户的列表。现在您想要查看特定用户的项目、帖子和评论。你有一个下拉,选择用户和数据将加载他的项目,帖子和评论。现在您希望查看来自另一个用户的数据。和之前一样,您将在下拉菜单中选择另一个用户,数据将重新加载,您将在同一页面上看到他们。

到目前为止,我知道如何制作一个下拉菜单,并获得id的jQuery代码:
<%= 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?我该如何发送construction_id到控制器,并确保id不是nil,然后加载数据?因为我认为重载页面应该通过提交表单来完成

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