Javascript 使用ajax更新rails中的部分内容
我目前正在尝试创建一个简单的下拉列表,其中包含姓名和电话号码,然后当您单击所选选项时,它会使用您使用Ajax输入的所选选项的子对象更新页面上的另一部分 i、 e.如果从下拉菜单中选择Javascript 使用ajax更新rails中的部分内容,javascript,jquery,ruby-on-rails,ajax,html-select,Javascript,Jquery,Ruby On Rails,Ajax,Html Select,我目前正在尝试创建一个简单的下拉列表,其中包含姓名和电话号码,然后当您单击所选选项时,它会使用您使用Ajax输入的所选选项的子对象更新页面上的另一部分 i、 e.如果从下拉菜单中选择User1 | 555-555-5555,则应在第二部分中从User1返回所有报告批准的列表 我知道这是一个简单的问题,但我不太确定如何编写JavaScript使其工作 以下是我的下拉列表代码: 下拉视图: <select id="adminDropDown" onchange= "chooseManager(
User1 | 555-555-5555
,则应在第二部分中从User1返回所有报告批准的列表
我知道这是一个简单的问题,但我不太确定如何编写JavaScript使其工作
以下是我的下拉列表代码:
下拉视图:
<select id="adminDropDown" onchange= "chooseManager();" class="form-control">
<% if current_admin.manager_approvals.blank? %>
<option>No Sub-Accounts added, Add one today!</option>
<% elsif current_admin.manager_approvals.all? { |ma| ma.manager_approved == false }%>
<option>No Sub-Accounts approved yet!</option>
<% else %>
<% current_admin.manager_approvals.where(manager_approved: true).each do |ma| %>
<option value="<%= ma.id %>"><%= ma.manager_company %> | <%= number_to_phone(ma.manager_phone) %></option>
<% end %>
<% end %>
</select>
更新此js文件会导致此错误
SyntaxError: [stdin]:6:5: unexpected (
如何选择下拉菜单选项之一并刷新第二部分?现在,所选值应将实例ID作为“@selected\u manager\u approval”传递给第二部分,然后自动仅刷新页面上的第二部分?我应该如何执行此操作?在控制器中添加如下操作:
class Admins::ReportapprovalsController < ApplicationController
def index
@reportapprovals = Reportapproval.all(table:params[:table], per_table: 4)
end
def show
@reportapproval = Reportapproval.find(params[:id])
end
def manager_select
@selected_manager_approval = ManagerApproval.find(params[:manager_approval_id])
end
end
chooseManager = ->
managerApprovalId = $(this).val()
$.ajax
type: 'POST'
url: 'admins/reportapprovals/manager_select'
data: manager_approval_id: managerApprovalId
return
在控制器中添加如下操作:
class Admins::ReportapprovalsController < ApplicationController
def index
@reportapprovals = Reportapproval.all(table:params[:table], per_table: 4)
end
def show
@reportapproval = Reportapproval.find(params[:id])
end
def manager_select
@selected_manager_approval = ManagerApproval.find(params[:manager_approval_id])
end
end
chooseManager = ->
managerApprovalId = $(this).val()
$.ajax
type: 'POST'
url: 'admins/reportapprovals/manager_select'
data: manager_approval_id: managerApprovalId
return
您的意思是,在更改“adminDropDown”时,您希望“report\u list.html.erb”应使用Reportapproval记录刷新,其中manager\u id等于下拉列表的值?是的,这正是我正在尝试的。根据我所读的内容,我需要使用Ajax,因为它在选择下拉菜单后调用数据库。您的意思是在更改“adminDropDown”时,您希望“report\u list.html.erb”应使用Reportapproval记录刷新,其中manager\u id等于下拉菜单的值?是,这正是我想做的。根据我所读的内容,我需要使用Ajax,因为它在选择下拉菜单后调用数据库。我这样做了,但由于这是rails,我不断收到有关
SyntaxError:[stdin]:8:1:保留字“function”
的错误。读了一点之后,我需要coffeescript中的这个函数,我应该如何更改它?我已经更改了功能。请立即检查仍有问题,此manager_select.js.erb文件放入资产文件夹正确吗?不是视图?我得到了控制台中的错误Uncaught ReferenceError:chooseManager未定义
,当我尝试从下拉菜单中选择时,我提到manager\u select.js.erb将位于app/views/admins/report\u approvals folderI中,但由于这是rails,我一直得到关于SyntaxError:[标准文本]:8:1:保留字“function”
读了一点之后,我需要在coffeescript中使用此函数,我应该如何更改它?我已经更改了该函数。请现在检查仍有问题,此manager\u select.js.erb文件放在assets文件夹中正确吗?视图不正确?我收到错误未捕获的引用错误:chooseManager未定义ned
在控制台中,当我尝试从下拉菜单中选择时,我提到manager_select.js.erb将位于app/views/admins/report_approvals文件夹中
// reportlist_wrapper_div_id is just an example you have to replace this with id of the div where you are rendering report_list partial.
$('#reportlist_wrapper_div_id').html('<%= escape_javascript render(:partial =>"report_list")%>');
chooseManager = ->
managerApprovalId = $(this).val()
$.ajax
type: 'POST'
url: 'admins/reportapprovals/manager_select'
data: manager_approval_id: managerApprovalId
return