我正在尝试为Rails 3.1选择标记执行一个非常基本的onChange事件处理程序。我发现的大多数解决方案都是针对ajax的,但我正在寻找更简单的东西,而我编码的内容似乎甚至都没有得到认可。在我看来,我有以下内容:
<h4><%= f.select :challenge_type, options_for_select(challenge_types, selected_type),
:onchange => 'show_appropriate_challenge()' %></h4>
在我的xxx.js.coffee文件中,我有这个(我尝试了很多不同的改动,似乎没有任何区别):
$('show_appropriate_challenge') ->
alert('Hello from your onChange handler')
当我从下拉列表中选择一个选项时,没有任何反应,并且控制台中没有消息。即使我将select标签的onChange更改为无效的东西(即...... onchange =&gt;'no_such_function()'...),我仍然没有错误,所以我怀疑我错过了一个配置项或其他挂钩项一切都在一起。
我可能需要添加哪些其他项目,或者可能需要对这些代码段进行哪些更改?
感谢您对此提供任何帮助。
答案 0 :(得分:0)
请将您的观点更新为:
<h4><%= f.select :challenge_type, options_for_select(challenge_types, selected_type),
:id => 'challenge_selector' %></h4>
这会在id
标记中添加名称为challenge_selector
的{{1}}。现在,您可以使用coffeescript将on change事件绑定到此id,如下所示:
select