Checkbox对所有字段都是值true

时间:2015-07-20 08:22:46

标签: javascript ruby-on-rails checkbox

这是我的代码

 <div class="label-container">
        <label><%= t('select_a_prerequisite') %><span class="necessary-field">*</span>:
          <b class="sel-list">
            <%= link_to_function t('all'), "$$('input.list-subject').each(function(checkbox) { checkbox.checked = true; });" %>,
            <%= link_to_function t('none'), "$$('input.list-subject').each(function(checkbox) { checkbox.checked = false; });" %>
          </b>
        </label>
      </div>

      <div class="categories">
        <% @aau_subjects.each do |c| %>
          <div class="each_category">
            <%= check_box_tag "prerequisite[]",c.id, :class => "list-subject" %> <label><%= "#{c.aau_subject_name}  #{c.aau_subject_code} " %></label>
          </div>
        <% end %></div>

当我点击&#34;所有&#34; ,它应该对所有复选框都适用,但它不工作和复选框显示默认为true。请建议我出错的地方,或任何其他解决方案点击真假。

1 个答案:

答案 0 :(得分:1)

首先,我不确定您使用的是哪个rails版本但是不推荐使用link_to_function。请参阅此http://apidock.com/rails/ActionView/Helpers/JavaScriptHelper/link_to_function

我建议改变这个

<%= link_to_function t('all'), "$$('input.list-subject').each(function(checkbox) { checkbox.checked = true; });" %>,

<% link_to_function "All", "select_all_loans()" %>

并在资产中创建一个js文件。并添加此。我希望这会对你有所帮助

$(document).ready(function(){
   select_all_loans = function(){
      $("input:checkbox").prop('checked',true);
   }
});

或者这样做

 <% link_to_function "All", "$("input:checkbox").prop('checked',true);" %>