2017-03-28 257 views
0

我想要完成的是用戶可以選擇列表組中的某個項目,並且能夠返回哪個項目以及該項目在組中是否處於活動狀態。我似乎無法得到它與jQuery的工作,或者我沒有這樣做的正確。Rails單擊事件不起作用

任何反饋/幫助表示讚賞。

這裏是HAML代碼

= form_for @editor do |f| 
    %body 
    .container 
    .list-group 
     %a.list-group-item.active Hello 
     %a.list-group-item Hey 
     %a.list-group-item Greetings 

我做了所謂的editors.js

$(document).ready(function() { 
$(".list-group-item").live('click', function(){ 
    $('.active').removeClass('active'); 
    $(this).addClass('active'); 
}); 
}); 

回答

0

$(document).on("click", ".list-group-item", function(){ 
 
    $(this).addClass('active') 
 
    .siblings('.active') 
 
    .removeClass('active'); 
 
});
.active { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="list-group"> 
 
    <a class="list-group-item active">Hello</a> 
 
    <a class="list-group-item">Hey</a> 
 
    <a class="list-group-item">Greetings</a> 
 
</div> 
 
<div class="list-group"> 
 
    <a class="list-group-item active">Bye</a> 
 
    <a class="list-group-item">Adios</a> 
 
    <a class="list-group-item">Auf Wiedersehen</a> 
 
</div>

這也使得冪和turbolinks通過兼容的JS文件從文檔中委託而不是附加t他處理DOM節點。

+0

這仍然沒有改變結果,因爲它不適用於應用程序。還有什麼可能會出錯? – codeNinjaBro

+0

上面的代碼確實按預期工作,所以錯誤在其他地方。但是您需要通過在瀏覽器中使用控制檯來親自調試它。 – max

+0

您還應該檢查您的JavaScript文件是否實際上包含在application.js中,並且由瀏覽器運行。 – max