ps:由于是在 form 表单中,不想通过提交的方式获取信息。
我通过某些前提条件选择了一些东西,然后通过 ajax 将值传递回 controller 里进行赋值,如下:
$("#user_id").on("change", function () {
var options=$("#user_id option:selected");
var selected = options.val();
$.ajax({
url: "new",
data: {selectedid: selected}
});
});
def new
@app_project = AppProject.new
# @departments为全部部门,即使ajax传递了值,但是下拉列表中也应该是全部部门
@departments = Department.all
# params[:selectedid]为ajax传递的值
if !params[:selectedid].blank?
@user= User.where(:id => params[:selectedid])
@departments = Department.find_by_id(@user.department.id)
respond_to do |format|
format.js
format.html
end
end
end
下拉列表如下:
<p class="object-select"><%= f.select :department, principals_options_for_select(@departments, @app_project.departments),
:include_blank => true, :label => l(:label_app_project_department) %></p>
我想做的是将 ajax 传递回的值,在 controller 里进行查询找出相关的此值的附属信息,如:获取到 user 的 id。通过 ajax 传递回 controller 里,查询出此 user 的部门信息,下拉列表正是选取部门,将此 user 的部门直接在下拉列表中显示出,但又不影响其重新选择部门,我该怎么做?大神求助