loopj jQuery Tokeninput (токенизированное автозаполнение) — получение значения

#javascript #jquery #autocomplete #return-value #token

#javascript #jquery #автозаполнение #возвращаемое значение #токен

Вопрос:

Редактировать: Похоже, это известная проблема как при доступе, так и при удалении элементов. Функциональность POST (для предоставления набора идентификаторов) также больше не присутствует.

Я использую jQueryUI на своей странице, но не нашел адаптации встроенной функции автозаполнения, которая будет маркировать результаты Facebook-style. Для этой цели создано несколько плагинов, и я использую для этого пакет loopj.

Я подключил его к своему источнику данных PHP и могу извлекать предложения и устанавливать токены — у меня просто проблема с получением полного значения из входных данных. Насколько я понимаю, он предоставляется в виде списка идентификаторов (идентификатор и имя — это два элемента, переданные ему через JSON), относящихся к выбранным токенам.

Вызов следующего должен (я думаю) вернуть значение:

 var t = $('#tokenizedinputid').val();
  

…но оно возвращается неопределенным. Как ни странно, если я помещаю это в параметр onAdd: при инициализации, он срабатывает один раз при загрузке страницы, а затем не при добавлении токенов. Однако этот пример с демонстрационной страницы запускается корректно при добавлении токена:

 onAdd: function (item) {
  alert("Added "   item.name);
},
  

Есть ли способ адаптировать приведенный выше фрагмент для предоставления всех выбранных токенов? Возможно, с помощью .each()?

Ответ №1:

Недавно был добавлен этот патч:

var tokens = $(‘#токены’).tokenInput(‘получить’);

Это вернет все пары id / name программно.