javascript - 与rails3-jquery-autocomplete : don't know how to bind railsAutocomplete. select作斗争

标签 javascript ruby-on-rails-3 jquery-autocomplete

我有以下非常简单的表格。

<%= form_for(@position) do |f| %>
  <div class="field">
    <%= f.label :name %><br />
    <%= f.autocomplete_field :name, autocomplete_position_name_positions_path %>
  </div>
<% end %>

<script type="text/javascript" charset="utf-8">
  $('#name').bind('railsAutocomplete.select', function(event, data){
    /* Do something here */
    alert(data.item.id);
  });
</script>

自动完成功能一切正常,但未调用 alert(..) 方法。我对所有这些 JavaScript 东西都很陌生,所以如果有人能指出我正确的方向,我将非常感激。编译后的源代码如下所示:

<form accept-charset="UTF-8" action="/positions" class="new_position" id="new_position" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="Sw+3CMXWmEPPYCNeCsAfNRX2DupZzZglMNSAnC4yDV4=" /></div>
  <div class="field">
    <label for="position_name">Name</label><br />
    <input data-autocomplete="/positions/autocomplete_position_name" id="position_name" name="position[name]" size="30" type="text" />
  </div>
</form>
<script type="text/javascript" charset="utf-8">
  $('#name').bind('railsAutocomplete.select', function(event, data){
    /* Do something here */
    alert(data.item.id);
  });
</script>

非常感谢大家!

最佳答案

您的输入有 id“name”吗?似乎它的 id 是“position_name”,而不仅仅是“name”。尝试将 $("#name") 更改为 $("#position_name")

关于javascript - 与rails3-jquery-autocomplete : don't know how to bind railsAutocomplete. select作斗争,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11828955/

相关文章:

javascript - 在javascript中编写 parent 的 child 的有效方式

javascript - sfWidgetFormDoctrineJQueryAutocompleter - 事件不起作用

PHP/JavaScript 表单验证?

javascript - 插入符位置在可满足的 div 中偏离

ruby-on-rails - 为什么在rails 3.1及更高版本中生成三个 Assets 目录

ruby-on-rails - Ruby on Rails 4 应用程序无法在 iframe 中运行

jquery 自动完成 id 和 value 不起作用

javascript - appendTo 自定义元素未使用自动完成功能进行更新

Javascript - For loop vs Linked List vs ES6 Set 查找两个匹配的整数

ruby-on-rails - Gemset:此系统上当前未安装 Rails。