0

我有一个表单,允许用户编辑员工在公司的历史记录。

我想这样做,所以当用户更改第一个条目的“到位置”下拉菜单时,它会将下一个条目中的“从位置”下拉菜单更改为等于它。

 <% f.fields_for :employee_position_histories do |emp_pos_his| %>
    <table class="crud-form">
      <tr>
        <td><%= f.label :from_position_id,  " Start Position: " %></td>
        <td><%= f.collection_select :from_position_id, Position.active, :id, :title, { :prompt => ' Select a Position ' }, { :class => 'clean average' } %></td>
      </tr>
      <tr>  
        <td><%= f.label :to_position_id,  " To Position: " %></td>
        <td><%= f.collection_select :to_position_id, Position.active, :id, :title, { :prompt => ' Select a Position ' }, { :class => 'clean average' } %></td>
      </tr> 
      <tr>
        <td><%= f.label :started_at, "Start Date: "%></td>
        <td><%= f.date_picker :started_at, :class => "clean average" %>
      </tr> 
      <tr>
        <td><%= f.label :ended_at, "End Date: "%></td>
        <td><%= f.date_picker :ended_at, :class => "clean average" %>
      </tr>
      <hr>
    </table> 
<% end %>

我不确定执行此操作的最佳方法。我的一位同事说要使用 jscript,但我也不知道该怎么做。

4

2 回答 2

0

您可以使用 jQuery 来执行此操作:

var fromBox = $("#from");
fromBox.change(function () {
    $("#to").val(fromBox.val());
});

只需将“#to”和“#from”替换为您的 ID

jsfiddle:http: //jsfiddle.net/hummlas/m87ap/

于 2013-07-08T21:11:28.580 回答
0

我不熟悉 ruby​​ 语法,所以我不知道您选择的 id 使用什么。
这是一种不使用 jQuery 的方法:

var fromBox = document.getElementById("from");

fromBox.addEventListener('change',function() {
     document.getElementById("to").value = fromBox.value;
}, false);

jsfiddle:http: //jsfiddle.net/h5gew/12/

于 2013-07-08T21:36:44.260 回答