繁体   English   中英

我在哪里以及如何为rails 3.1 select tag onchange事件编写事件处理程序?

[英]where and how do I code an event handler for a rails 3.1 select tag onchange event?

我正在尝试为Rails 3.1 select标签做一个非常基本的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')

当我从下拉列表中选择一个选项时,什么也没有发生,并且控制台中没有消息。 即使我将选择标签的onChange更改为无效的内容(即... onchange =>'no_such_function()'...),我仍然不会收到任何错误,因此我怀疑我缺少配置项或其他钩住了所有内容的项一起。

我可能还需要添加哪些其他项目,或者可能需要对任一代码段进行哪些更改?

感谢您对此的任何帮助。

请将您的视图更新为:

<h4><%= f.select :challenge_type, options_for_select(challenge_types, selected_type),
  :id => 'challenge_selector' %></h4>

这会将名称为challenge_selectorid添加到您的select标签中。 现在,您可以使用coffeescript将on change事件绑定到此id,如下所示:

$('#challenge_selector').on 'change', ->
   alert('Hello from your onChange handler')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM