复选框更改事件仅在重新加载页面后才会触发

时间:2019-01-25 00:34:25

标签: javascript jquery ruby-on-rails coffeescript ruby-on-rails-5



我正在使用Ruby on Rails编写应用程序,这里有一个表单,如果选中此复选框,它将显示特定的AuthenticatedRequest,如果不是,则通过Rails添加<div>。通过Coffeescript和JQuery,我还可以在更改时切换相同的style="display:none:"

咖啡:

<div>

HTML:

jQuery ->
  $(document).ready ->
    $("#hasUser").change ->
      $("#userPart").toggle();
      return
    return
  return


这里的问题是,当我使用 <div class="form-group"> <%= contato_form.label :hasUser, :class => 'inline-checkbox' do %> Possui usuário <%= contato_form.check_box :hasUser, :id => 'hasUser' %> <% end %> </div> </div><!-- Closing from uncopied code --> <div id="userPart" class="findMe" <% if @contato.usuario.id.blank? %> style="display:none;" <% end %>> <h2> Usuário: </h2> <div class="container"> <%= contato_form.fields_for :usuario do |usuario_form| %> <%= render partial: 'usuarios/campos_usuario', locals: {form: usuario_form} %> <% end %> </div> </div> 表单时,一切运行良好,但是在Create上,Coffeescript仅在重新加载后运行。

1 个答案:

答案 0 :(得分:0)

这是一个涡轮链接问题。在尝试运行其余代码之前,我必须检查turbo-links是否正确加载。

jQuery ->
  $(document).ready ->
    $(document).on 'turbolinks:load', #Added line
      $("#hasUser").change ->
        $("#userPart").toggle();
        return
      return
    return
  return