Он работает нормально, но я не вижу нигде в том коде, который вы указали, где вы добавляете обработчик событий в поле ввода.
Проблема в http://www.binboy.gigfa.com/files/js/admin.js, где-то сверху:
$('.auto_complete').bind('keyup',function () {
/* ... */
});
Когда страница загружается, она связывает несколько обработчиков событий с полями ввода и т.п. Когда вы создаете новый, эта функция добавляется , а не , если только вы не используете jQuery .live
или что-то подобное. Как отмечено в документации:
Этот метод [.live()
] является разновидностью базового метода .bind()
для присоединения обработчиков событий к элементам. Когда вызывается .bind()
, элементы, на которые ссылается объект jQuery, подключают обработчик; элементы, которые вводятся позже, этого не делают, поэтому им потребуется еще один вызов .bind()
.
На самом деле я не хочу разбираться во всех вложенных вызовах click
и delegate
и bind
, но я гарантирую, что именно в этом ваша проблема. Чтобы исправить это, вам, вероятно, понадобится запустить секцию автозаполнения на только что созданном узле, вместо этого использовать .live
или просто .clone
оригинал.