Применение функции jQuery к динамически добавляемому элементу - PullRequest
0 голосов
/ 06 августа 2009

При добавлении нового текстового поля с помощью функции jQuery append () оказывается, что jQuery не может применить функцию к этому текстовому полю;

            $("#ulList").append("<li><span class=\"ui-icon ui-icon-circle-close remove\"/><em class=\"selectedWord\">" + selectedWord + "</em><input class=\"acf acfb-input ac_input\" type=\"text\" id=\"" + name + "\" name=\"" + name + "\" value = '' /></li>");

            $("#" + name).autoCompletefb();

Функция, которую я пытаюсь применить к вновь добавленному вводу, это метод autoCompletefb (), но, похоже, jQuery не может найти вновь добавленный объект.

Идеи

Ответы [ 3 ]

1 голос
/ 06 августа 2009

У вас есть лишняя точка с запятой в неправильном месте

 $("#ulList").append("<li><span class=\"ui-icon ui-icon-circle-close remove\"/><em class=\"selectedWord\">" + selectedWord + "</em><input class=\"acf acfb-input ac_input\" type=\"text\" id=\"" + name + "\" name=\"" + name + "\" value = \"\" />" + "</li>");
1 голос
/ 06 августа 2009

Вы даете вводу идентификатор содержимого переменной name и выбираете элемент с идентификатором содержимого переменной formattedName. Какая разница между двумя? Код будет работать, если они одинаковы.

Кроме того, у вас есть ошибка JS в конце вызова append ():

value = \"\" />";+ "</li>");

Вероятно, хотите, чтобы это было:

value='' /></li>");
0 голосов
/ 06 августа 2009

Убедитесь, что ваш динамически добавленный элемент ввода полностью загружен, прежде чем пытаться получить к нему доступ на странице. Кроме того, у вас есть переменная путаница? Вы используете «name» в качестве переменной в первой строке как «formattedName» в качестве переменной во второй строке.

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