Вот моя реализация (которая, я думаю, более верна стилю SO, чем принятый ответ).Стиль может нуждаться в настройке, но он функционально такой же, как вы видите в SO.
Особенности:
Принимает предопределенное поле ввода со словами, разделенными запятыми - идеально подходит длявсе случаи, например, в которых вы редактируете элемент, у которого уже есть теги - и создает интерактивный редактор тегов на основе этой информации.
пример в формате rails:
<input id="post_tag_list" name="post[tag_list]" value='testing, test, probably, goose, under_score'/>
Обновляет скрытое поле ввода, когда пользователь редактирует теги, чтобы в отправленной форме были все нужные теги.
Удаление в обратном направлении через (подделка)поле ввода тега функционально аналогично удалению одной длинной строки слов, что делает редактирование более естественным.
Для редактирования можно щелкнуть теги.
Запятые, пробелы, возвраты и символы табуляции закрывают открытый тег, который редактируется или создается.
Кнопка закрытия на тегах работает должным образом.
и т. Д.
Найти здесь: http://jsfiddle.net/bradleygriffith/axjKm/