琐碎的jQuery事件没有触发

时间:2014-07-18 15:57:34

标签: javascript jquery ruby-on-rails coffeescript

这是一个非常奇怪的问题,我确信它有一个非常简单的解决方案,但我现在已经盯着这一段时间了,似乎无法解决这个问题。我正在尝试做的就是在我的轨道应用程序中在“是”和“否”之间更改单选按钮时弹出一个简单的警报。
我试图选择的单选按钮的源代码片段如下所示:

<input id="line_item_is_imprintable_yes" name="line_item_is_imprintable" type="radio" value="yes" /><label for="is_imprintable_yes">Yes</label>
<input id="line_item_is_imprintable_no" name="line_item_is_imprintable" type="radio" value="no" /><label for="is_imprintable_no">No</label>

我的coffeescript文件如下所示:

jQuery ->
  $('input:radio[name="line_item_is_imprintable"]').change ->
    alert('change!')

当我尝试在jsfiddle中重新创建它时,它会起作用,这会让我失去一个循环。任何见解?谢谢!

1 个答案:

答案 0 :(得分:0)

我使用课程:

<input id="line_item_is_imprintable_yes" name="line_item_is_imprintable" class="line_item_is_imprintable" type="radio" value="yes" /><label for="is_imprintable_yes">Yes</label>
<input id="line_item_is_imprintable_no" name="line_item_is_imprintable" class="line_item_is_imprintable" type="radio" value="no" /><label for="is_imprintable_no">No</label>

然后使用:

$("input.line_item_is_imprintable").change(function (){
    alert('change!');
});

或者,在输入周围抛出一个div,例如

<div id="line_item_is_imprintable">
    <input id="line_item_is_imprintable_yes" name="line_item_is_imprintable" type="radio" value="yes" /><label for="is_imprintable_yes">Yes</label>
    <input id="line_item_is_imprintable_no" name="line_item_is_imprintable" value="no" /><label for="is_imprintable_no">No</label>
</div>

然后去:

$("div#line_item_is_imprintable").find("input:radio").change(function (){
    alert('change!');
});

只是让它更容易阅读...