Rails:使用Jquery更改简单的表单输入值

时间:2017-06-21 12:01:54

标签: javascript jquery ruby-on-rails

我是铁杆新手,几个小时都在努力寻找答案,但仍然没有运气。 我创建了一个“全选”按钮,这样一旦点击它,区域就会自动填充所有区域代码。 在此先感谢您的帮助!

partial _form:

<div id  = "select_regions_form">
  <%= render partial: 'reports/regions_form', locals: { f: f, all_regions: @all_regions } %>
  <%= button_tag "Select All", :id => "select_all", :class => "btn btn-small btn-inverse", :type => "button" %>
  </br>
</div>

parial _region_form.html.erb:

<div class="row">
  <div id = "region_list" class="col-md-4">
    <%= f.input :regions, collection: all_regions, 
    label_method: :region_code, value_method: :id, input_html: { multiple: true }%>

  </div>
</div>

的javascript:

(function($){
  "use strict";

  $(document).ready(function(){
    $("#select_all").click(function() {
      $("input:regions").val(*all the region codes*);

    } );
  } );
})(jQuery);

1 个答案:

答案 0 :(得分:0)

parial _region_form.html.erb:

将ID添加到选择输入或使用由rails自动创建的已有ID(仅供参考:您可以在浏览器中检查并查看ID)。

在这里,我为选择字段添加了ID select_regions

<%= f.input :regions, collection: all_regions, 
    label_method: :region_code, value_method: :id, input_html: { multiple: true, id: 'select_regions' }%>

<强>的javascript:

点击全部选项,将所有选项的属性selected设置为true

$(document).ready(function(){
  $("#select_all").click(function() {
    $('#select_regions option').prop('selected', true);
  });
});