У меня есть простое веб-приложение, в котором я создал мастер, каждая страница мастера содержит разные поля формы, которые заполняются из базы данных, так как пользователь нажимает следующую, когда данные страницы извлекаются с сервера с помощью вызова Ajax.Вот код страницы, которая получена с сервера против Ajax-вызова.Я делаю это простым для понимания ..
function printAdAlertWizardStep($step)
{
switch($step)
{
case 1: //step of wizard, first step
print "Welcome to alert wizard,...";
break;
case 2: //second step of wizard which contains the text field to which I want to attach autocomplete list.
?>
<table>
<tr>
<td>Keywords</td>
<td><!-- This is text field to which I want to attach autocomplete -->
<input id="nalertkw" name="nalertkw" size="10" type="text">
</td>
</tr>
</table>
<?php
break;
}
}
}
И код сценария Java для присоединения автозаполнения к текстовому полю ключевых слов:
//Script will be executed when the page is ready for scripting
$(document).ready(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#nalertkw" ).autocomplete({
source: availableTags
});
});
Теперь проблема в том, что форма загружается послепользователь нажимает следующее, и функция $(document).ready()
уже сработала, когда текстовое поле #nalertkw
не существует.Так что автозаполнение не работает.Я использую Jquery-UI Autocomplete , Как я могу прикрепить автозаполнение к текстовому полю, которое загружается с помощью вызова Ajax?
edit: Более того, я проверил мои настройки на простой странице (безAjax call) с текстовым полем и присоединением автозаполнения к этому текстовому полю таким же образом.Работает абсолютно нормально.Это подтверждает правильность настройки автозаполнения, но она не работает при подключении к текстовому полю, полученному с помощью вызова Ajax.