【问题标题】:jquery auto complete plugin not workingjquery自动完成插件不起作用
【发布时间】:2012-01-29 04:05:21
【问题描述】:

我正在尝试在我的 rails 应用程序中实现自动完成功能。我能够打印我为自动完成传递的数组。但是自动完成不起作用。

我的控制器代码:

 def new
 @release = Release.new
 @names = User.all(:select => "name").map { |x| x.name } 
    respond_to do |format|
  format.html # new.html.erb
    end
end

我的查看代码:

 %td.grid.full_panels
    -table_panel "Assign Testers" do
      %table
        %th Name
        = form.label :tester_tokens, "Testers" 
        = form.text_field :tester_tokens
:javascript
   var data="#{escape_javascript @names.to_json}";    
= javascript_include_tag :defaults,:cache => true

我的 application.js 代码:

$(document).ready(function() {
alert (data);
$('#release_tester_tokens').autocomplete(data);
});

【问题讨论】:

  • 您检查过 Firefox、Safari 或 Chrome 中的错误控制台吗?您介意只发布您的 HTML 和 Javascript 代码吗(或者只需要添加指向 jsfiddle.net 的链接)?
  • 嗨,我在 IE 中没有收到任何错误
  • 您是否启用了“显示 javascript 错误”选项(或类似选项)?
  • 我没有收到任何 java 脚本错误
  • 那么请将您的 HTML 和 Javascript 代码发布到 jsfiddle.net

标签: jquery ruby-on-rails jquery-ui jquery-plugins autocomplete


【解决方案1】:

自动完成插件在初始化时实际上需要一个带有选项的对象字面量。

要设置数据,请使用source 属性:

$(document).ready(function() {
    alert (data);
    $('#release_tester_tokens').autocomplete({
        source: data
    });
});

【讨论】:

  • 嗨 Diedier,非常感谢您回答我。如果我在本地设置数据变量,你给出的修改 data="sramya","scharron"];然后自动完成正在发生。如果我通过视图文件以 json 格式传递它,它就不会发生,它不起作用。请帮帮我。
  • 您可以解析生成的 JSON 以将其转换为带有 $.parseJSON(data) (documentation) 的 javascript 对象
  • 嗨 Didier,我将代码更改为 $.parseJSON(data);警报(数据); $('#release_tester_tokens').autocomplete({source:data});数据显示为 ["ann","bob"]。仍然无法自动完成。
  • 为我工作:http://jsfiddle.net/didierg/ytFNr/。如果没有看到你在data 中真正得到了什么,很难猜出你的问题是什么......
  • 嗨 Didier 问题是在你的例子中,数据用引号括起来(data='["ann","bob"]'。在我的不是。数据 =["ann", "bob"].有没有把它转换成上面那个的命令
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
  • 1970-01-01
  • 2015-06-08
  • 2014-04-28
相关资源
最近更新 更多