如果选择下拉列表中的值,如何在文本字段中显示对象的相应值

时间:2017-02-17 06:53:04

标签: javascript jquery ruby-on-rails ruby ajax

我在rails上的ruby中有一个表单,其中包含一个包含不同类别名称的下拉列表。

<td>
    <div class="div1">
        <%= f.collection_select(:category_id, Category.all, :name, id: 'category_select', :include_blank => '---select waste category---') %>
    </div>
</td>

以及应显示所选类别的类别代码的文本字段。

<td colspan="4"><%= f.text_field :category_id, id: 'name_text_field' %></td>

这是我获取数据的表格:

mysql> desc categories;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| parent_id  | int(11)      | YES  |     | NULL    |                |
| code       | varchar(255) | YES  |     | NULL    |                |
| name       | varchar(255) | YES  |     | NULL    |                |
| created_at | datetime     | NO   |     | NULL    |                |
| updated_at | datetime     | NO   |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+

这是我要发送数据的表格,我的表单旨在:

+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| id            | int(11)      | NO   | PRI | NULL    | auto_increment |
| quantity      | int(11)      | YES  |     | NULL    |                |
| category_id   | int(11)      | YES  | MUL | NULL    |                |
| package_id    | int(11)      | YES  | MUL | NULL    |                |
| created_at    | datetime     | NO   |     | NULL    |                |
| updated_at    | datetime     | NO   |     | NULL    |                |
+---------------+--------------+------+-----+---------+----------------+

当我从保管箱中选择类别名称时,有人可以帮我解决如何在文本框中显示相应的类别代码吗?

非常感谢提前!!!

2 个答案:

答案 0 :(得分:0)

做这样的事情。我认为你的collection_set中有一个拼写错误。使用以下代码

do

这将在文本框中显示从下拉列表中选择内容的类别名称。

希望有所帮助

答案 1 :(得分:0)

感谢gowtham的想法,我设法解决了我的问题

这就是我所做的:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
  $("#category_id").on("change", function() {
    $("#code_textfield").val($("#_category_id").val());
  });
});
</script>

我的文字字段:

<%= f.text_field :category_id, :id => "code_textfield" %>

和我的Dropbox:

<%= f.collection_select(:category_id, Category.all, :code,:name, :include_blank => '---select waste category---') %>