Автозаполнение jQuery не работает ... - PullRequest
0 голосов
/ 15 января 2010

Я использую функцию автозаполнения из jQuery, и у меня небольшая проблема. У меня есть элемент div с некоторым текстом и переменным количеством полей ввода, которые имеют функцию автозаполнения. Когда пользователь нажимает на текст в элементе div, поля ввода удаляются. Нажатие на текст переключает между отображением полей ввода и не отображением полей ввода. При каждом щелчке текста вызывается php-скрипт, который возвращает новый HTML-текст для элемента div.

Входы автозаполнения создаются с помощью php-кода, подобного следующему:

php код

echo "<id='a' value='Smith' autocomplete='off'>";
echo "<script type=\"text/javascript\">$('a').autocomplete('do_name_lookup.php',{minChars:3,max:999});</script>";
echo "<script type=\"text/javascript\">$('a').result(function(event, data, formatted) {alert(data[0])});</script>";

На статической веб-странице два элемента script отображаются в функции "$(document).ready". Однако, поскольку моя страница динамична, поля ввода создаются спустя долгое время после срабатывания $(document).ready. Поэтому я должен выполнить код javascript сразу после того, как каждое из полей ввода сделано. Эта настройка работает нормально при первом выполнении приведенного выше кода php, но при втором выполнении кода функция автозаполнения исчезает.

Может кто-нибудь объяснить мне, почему это происходит и как обойти это? Я подозреваю, что я объявляю переменную с одним и тем же именем несколько раз, и это создает конфликт некоторого типа.

1 Ответ

0 голосов
/ 04 августа 2012
<id='a' value='Smith' autocomplete='off'>

Это недопустимый элемент, он пропускает имя тега. Хотите изменить "input"?

$('a')…

Выбирает все якорные элементы (ссылки) на странице. Я думаю, вы хотели селектор идентификатора $('#a').

Кроме того, вы должны действительно объединить два элемента скрипта в один. Не только потому, что в некоторых браузерах есть ограничения. <script> может содержать более одного оператора JavaScript, и вам может потребоваться связать два метода одного и того же выбранного элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...