【问题标题】:How to implement a tagging plugin for jQuery如何为 jQuery 实现一个标签插件
【发布时间】:2010-05-30 21:11:16
【问题描述】:

目标: 为我的 rails 应用程序实现一个 jQuery 插件(或自己编写一个,如有必要),在键入分隔符后在文本周围创建一个“框”。

示例: 在 SO 上添加标签后,用户开始输入标签,然后从提供的下拉列表中选择一个。输入字段识别出一个标签已被选中,放置一个空格,然后为下一个标签做好准备。同样,我尝试使用this plugin 在之前输入的标签周围放置一个框,然后再接受下一个标签/输入。

README.txt 中的说明看起来很简单,但是我收到了一个

$(".tagbox").tagbox 不是函数

使用 firebug 调试我的应用程序时出错。

这是我的 application.js 中的内容:

$(document).ready( function(){

    $('.tagbox').tagbox({
        separator: /\[,]/  // specifying comma separation for <code>tags</code>
    });

});

这是我的 _form.html.erb:

<% form_for @tag do |f| %>
  <%= f.error_messages %>
  <p>
    <%= f.label :name %><br />
    <%= text_field :tag, :name, { :method => :get, :class => "tagbox" } %>
  </p>

  <p><%= f.submit "Submit" %></p>
<% end %>

为了便于阅读,我省略了 _form.html.erb 和 application.js 中存在的一些其他代码(即自动完成插件的实现)。包含或排除此省略的代码不会影响此插件的性能。

我已经在我的 application.html.erb 文件的 javascript_include_tag 中包含了 tagbox 插件的所有必要文件(以及在所有其他包含的 JS 文件之后的 application.js)。

当 jquery.tagbox.js 清楚地定义了函数并包含在我有问题的 html 页面的头部时,我很困惑为什么我会收到这个“不是函数”错误。我在这个插件上苦苦挣扎的时间比我想承认的要长,所以任何帮助都将不胜感激。而且,当然,我对您可能想到的任何其他插件或从头开始的建议持开放态度..

这个标签框插件似乎没有丰富的文档或任何当前可用的示例。

另外需要注意的是,我试图避免使用 jrails。

感谢您的宝贵时间

【问题讨论】:

  • 确定“jquery.tagbox.js”加载成功吗?
  • 你指的是它是否最终被包含在我的 html 视图的 Head 块中?如果是这样,这个问题是肯定的..
  • 只需要使用另一个jQuery标签插件。

标签: jquery ruby-on-rails jquery-plugins tagging


【解决方案1】:

这是我编写的另一个 tagBox 插件,带有一些附加功能:

http://www.geektantra.com/2011/05/jquery-tagbox-plugin/

看看能不能帮上忙。

【讨论】:

    【解决方案2】:

    确保以正确的顺序加载插件和 Jquery。在 Jquery 之前加载插件可能会导致此类错误。此外,请确保该插件与您使用的 JQuery 版本兼容。如果所有这些都是正确的,我会做一个基本的 JQuery 函数来确保你的路径是正确的。否则,使用 firebug 并尝试追踪加载失败的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多