Попытка заставить автозаполнение jQuery UI работать с плагином тегов - PullRequest
0 голосов
/ 04 июля 2011

У меня есть плагин тегов для jQuery, который я установил, и я хочу связать его с автозаполнением пользовательского интерфейса jQuery.

Оба этих плагина работают независимо друг от друга, но у меня возникают проблемы с их совместной работой.Я приложил пример к jsFiddle.

http://jsfiddle.net/ciel/ecbjG/

Если вы прокрутите вниз, вы можете закомментировать один из двух плагинов, и другой будет работать нормально.Но с включенным плагином тегов автозаполнение не работает.

Я надеялся, что кто-нибудь покажет мне, где я делаю свою ошибку.

1 Ответ

1 голос
/ 04 июля 2011

Плагин тегов заменит ваш текстовый ввод id tags элементом управления вводом с идентификатором tags_tag .

Так что после привязки плагина теговк элементу управления вводом необходимо привязать плагин автозаполнения к tags_tag .

$('#tags').tagsInput();

$("#tags_tag").autocomplete({
    source: availableTags,
    minLength: 2,
    select: function(event, ui) {
        // something will happen eventually ...
    }
});

update
Проблема заключается в том, что плагин тегирования добавиттег, если вход теряет фокус (событие размытия).Это событие вызывается до того, как плагин автозаполнения может установить значение входа.Поэтому плагин принимает текущее введенное значение (например, Pyt) и добавляет его в качестве тега вместо выбранного значения (например, Python).Я удалил событие размытия и сработал и нажал клавишу (имитирует «Enter»), чтобы сделать эту работу, но это просто хак :) ...

Может быть, вы хотите более глубоко изучить плагин тегов,Я видел, что у него есть настройка для автозаполнения.

var settings = jQuery.extend({
    ...
    autocomplete: {
        selectFirst: false
    },
    ...
}, options);

см .: http://jsfiddle.net/ecbjG/5/ (обновлено)

...