继续this(其中employee belongs_to role
并且根据该角色有薪水)我想让我的New Employee form
更具互动性:我希望salary
字段的值根据从单选按钮组中选择的role
进行更改。
我的表单现在看起来像这样:
<%= simple_form_for(@room) do |f| %>
<%= f.input :name, label: 'Full Name', :required => true %>
<%= f.association :role, as: :radio_buttons, :required => true %>
<%= f.input :salary, label: 'Salary', :required => true %>
<%= f.button :submit %>
<% end %>
我的employees.js.coffee
文件包含以下代码:
jQuery ->
$('#employee_employee_role_id_1').click ->
$(document.getElementById('employee_salary')).val(15)
我将值硬编码以确保表单字段ID没有问题。
我需要的是让.click
方法适用于所有#employee_employee_role_id_X
字段(其中X是每个单选按钮的编号),并且传递给.val()的值为{{1 }}
但是,作为Rails和js / jQuery的新手,我很无能为力。
答案 0 :(得分:0)
好的,我设法完成了这项工作,但我完全不相信这是最好的方法。这是:
在表单中,我刚刚添加了value_method: :salary
<%= f.association :role, as: :radio_buttons, value_method: :salary, :required => true %>
并在我的.js.coffee
文件中:
jQuery ->
$("input[name='role[role_id]']").change ->
$(document.getElementById('salary')).val(($("input:radio[name='role[role_id]']:checked").val()))
如果存在,请随时发表评论或提供更好的答案! :)