0

我有simple_form形式。

.row
  .span12
    %legend='Address Data'
    = f.simple_fields_for :person do |p|
      = render 'profiles/contact_type/address_form', f: p
.row
  .span12
    %legend='Email Data'
    = f.simple_fields_for :person do |p|
      = render 'profiles/contact_type/email_form', f: p

我想切换每个子表单的可见性。

现在我正在使用:

= link_to_function 'Address data', '$("#addresses").toggle();'

但我认为这不是最好的选择。我该怎么做?

4

1 回答 1

1

我个人喜欢 jQuery 的 toggleCLass。像这样的东西应该可以工作(未经测试)。

Javascript(在咖啡中)

jQuery ->  
    $(document).on "click", '.i_toggle_my_next_sibling', ->
        $(this).next().toggleClass( "visibility_hidden", 400, "easeOutSine" )

HTML(您想使用您的 simple_form 表示法):

<div class="i_toggle_my_next_sibling">Toggle Control</div>

<div>
    My most beautiful content to show and hide ...
</div>

一些CSS

.visibility_hidden {
    visibility:hidden;
 }
于 2013-06-20T13:21:03.013 回答