2015-09-28 4 views
0

В моем коде у меня есть коллекция кнопок с опциями. Я хочу, чтобы в моем файле javascript выполнялась функция, когда опция была изменена.опция on change, execute event javascript

<div class="col-sm-8 user-type" > 
    <%= f.collection_radio_buttons :team_account_type, [ ['admin', 'Administrator'], ['team_leader', 'Team Leader'], ['standard_user', 'Standard User']], :first, :last, checked: ['standard_user', 'Standard User']%> 
</div> 

мой JS файл

$('#team_account_type').on('change', function() { 
     console.log("i have selected team leader") 
}); 

Но это не работает. когда я нажимаю на различные параметры, он не поймает его или не узнает. Любая помощь оценивается.

Благодаря

+0

Что генерируемый HTML выглядит? Соответствует ли идентификатор вам, как вы ожидаете? – scunliffe

ответ

1

Оберните ваш код внутри $(function(){ ... }); так, чтобы обработчик события изменения применяются, когда DOM готова.

$(function(){ 
    $("#team_account_type").on("change", function() { 
     console.log("i have selected team leader"); 
    }); 
}); 

ИЛИ вы можете делегировать событие изменения с помощью document объекта

$(document).on("change","#team_account_type", function() { 
      console.log("i have selected team leader"); 
    });