2017-10-05 33 views
0

當我點擊我的鏈接 href,我可以看到我的網頁快速切換顯示和隱藏名稱文本字段。Coffeescript不會切換我的div

我想名稱文本字段保持顯示後我點擊錶鏈接按鈕。

我試着改變切換()來顯示()和相同的事情發生在我不能讓名稱文本字段保持顯示。

# app/views/forms/form.html.erb 
<%= link_to 'Form Link', '#', class: 'form-link' %> 
<div class="form-group"> 
    <div class="col-sm-1"><%= form.label :name, class: 'control-label' %></div> 
    <div class="col-sm-1"><%= form.text_field :name, class: 'form-control' %></div> 
</div> 

# app/assets/stylesheets/forms.scss 
.form-group { 
    display: none; 
} 

# app/assets/javascripts/forms.coffee 
$(document).on 'turbolinks:click', ('.form-link'), -> 
    $('.form-group').toggle() 

回答

1

如果你想簡單地切換點擊一個鏈接時,一個div的知名度,那麼你應該能夠簡單地聽鏈接的點擊,並阻止默認行爲,以確保turbolinks不重裝這一頁。 這應該解決您所看到的問題。當你點擊鏈接時,你的腳本顯示錶單,但turbolinks跟在鏈接之後(這是#,所以它只是重新加載頁面)。

例如:

$(document).on 'click', '.form-link', (e) -> 
    e.preventDefault() # prevent link from being followed 
    $('.form-group').toggle() 

你可以在這裏嘗試一下:https://jsfiddle.net/u9hngeo4/1/