基于选择框选择显示/隐藏文本字段

以简单的forms:

  "control-label" %>     

我正在尝试学习如何使用JQuery仅在“源”字段中选择值“其他”时显示“source_other”文本字段。 从我在网上看到的,看起来我需要使用这样的东西:

 $("#source").change(function() { if ($("#source").val()=="Other") $("#source_other").show(); else $("#source_other").hide(); }); 

但是,我不太了解如何将JQuery与我的表单集成。 有人可以指出我正确的方向吗?

更新:

以下是生成的html代码段:

 
-- Please select -- Source 1 Source 2 Other

我怀疑你的服务器代码没有为元素生成ID,在这种情况下你的选择器正在寻找ID不存在的元素

如果是这种情况,请在服务器代码中添加ID,以便jQuery ID选择器可以使用或使用name= selectors

 $(function(){ $('input[name="source"]').change(function() { $('input[name="source_other"]').toggle( $(this).val()=="Other" ); }); }); 

只要jQuery代码包含在$(document).ready()$(function(){}); 这是简写​​,你可以将它放在脚本标签中的任何位置,只要它在jQuery库加载之后。 或者你可以将它放在jQuery之后加载的extrnal文件中

更换

  $("#source") with $("#user_source") 

它应该是$("#user_source")而不是!

Rails在属性之前添加模型名称。 然后它应该隐藏/显示$("#user_source_other")元素。

此外,您必须将此jQuery JS代码包装在$(document).ready()$(function(){}); 正如charlietfl之前回答的那样。