Как реализовать плагин тегов для jQuery - PullRequest
5 голосов
/ 31 мая 2010

Цель: Реализовать плагин jQuery для моего приложения rails (или написать его самостоятельно, если необходимо), который создает «рамку» вокруг текста после ввода разделителя.

Пример: При использовании тегов на SO пользователь начинает вводить теги, а затем выбирает один из предоставленных раскрывающихся списков. Поле ввода распознает, что тег был выбран, ставит пробел и затем готово к следующему тегу. Точно так же я пытаюсь использовать этот плагин , чтобы поместить рамку вокруг ранее введенного тега, прежде чем перейти к принятию следующего тега / ввода.

Инструкции в файле 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 для удобства чтения. Включение или исключение этого пропущенного кода не влияет на производительность этого плагина.

Я включил все необходимые файлы для плагина tagbox (а также application.js после всех других включенных файлов JS) в javascript_include_tag в моем файле application.html.erb.

Я сильно озадачен тем, почему я получаю эту ошибку "не функции", когда jquery.tagbox.js четко определяет функцию и включена в заголовок моей html-страницы. Я боролся с этим плагином дольше, чем мне хотелось бы признать, поэтому любая помощь действительно будет оценена. И, конечно же, я открыт для любых других плагинов или предложений с нуля, которые вы можете иметь в виду.

Этот плагин tagbox, похоже, не содержит обширной документации или каких-либо работающих в настоящее время примеров.

Также отметим, что я стараюсь избегать использования jrails.

Спасибо за ваше время

Ответы [ 2 ]

3 голосов
/ 02 июня 2011

Вот еще один плагин tagBox, который я написал с некоторыми дополнительными функциями:

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

Просто посмотрите, может ли это помочь.

2 голосов
/ 31 мая 2010

Убедитесь, что вы загружаете плагин и Jquery в правильном порядке. Загрузка плагина перед Jquery может вызвать этот тип ошибки. Также убедитесь, что плагин совместим с используемой версией JQuery. Если все это правильно, я бы выполнил базовую функцию JQuery, чтобы убедиться, что путь к ней правильный. В противном случае используйте firebug и попытайтесь отследить, где происходит сбой загрузки.

...