Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2014, 15:38
Новичок на форуме
Отправить личное сообщение для Nobas Посмотреть профиль Найти все сообщения от Nobas
 
Регистрация: 22.03.2014
Сообщений: 7

Autocomplete в динамически созданной форме
Здравствуйте. не смог я найти чего то подобного. Проблема мне изъела мозг уже.
Я не большой профессионал в вопросе jquery. поэтому строго не судите.
В общем суть в следующем. Есть ряд форм, которые добавляются на страницу динамически:

function creating(){
    var parentElem = document.getElementById('parent');
    var newDiv = document.createElement('div');
    newDiv.innerHTML = '<div class=\'blockadd\'>'+
                '<input class=\'adreceptmax\' type=\'text\' name=\'indigr[]\' autocomplete=\'on\'>'+
            '</div>'+


и так далее

к в форме class=adreceptmax autocomplete прикручен.
на странице есть одно заранее такое созданное поле, и кнопкой создаются новые. в том которое заранее установлено autocomplete работает, а в динамически созданном нет. Подскажите пожалуйста что за беда и где искать проблему.
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2014, 19:20
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
jquery
Ну и где ты тут jquery нашел? Это javascript. Jquery вообще - всего лишь набор готовых решений для веб-программиста, написанных на javascript, это ничуть не самостоятельный язык.

Цитата:
на странице есть одно заранее такое созданное поле, и кнопкой создаются новые. в том которое заранее установлено autocomplete работает, а в динамически созданном нет. Подскажите пожалуйста что за беда и где искать проблему.
Потому-что атрибут autocomplete проставляется тегу form, а не input.
Ответить с цитированием
  #3 (permalink)  
Старый 22.03.2014, 19:20
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Nobas
к в форме class=adreceptmax autocomplete прикручен
Какой из autocomplete прикручиваете? jquery autocomplete? После добавления элемента прикручивайте автокомплит к нему.
Ответить с цитированием
  #4 (permalink)  
Старый 23.03.2014, 19:45
Новичок на форуме
Отправить личное сообщение для Nobas Посмотреть профиль Найти все сообщения от Nobas
 
Регистрация: 22.03.2014
Сообщений: 7

аutocomlete вот этот:
http://ruseller.com/lessons.php?rub=37&id=1336
а как его к новому инпуту прикрутить? я не понимаю. Он же с таким же классом создается.
Ответить с цитированием
  #5 (permalink)  
Старый 23.03.2014, 19:51
Новичок на форуме
Отправить личное сообщение для Nobas Посмотреть профиль Найти все сообщения от Nobas
 
Регистрация: 22.03.2014
Сообщений: 7

Ну и где ты тут jquery нашел?
Сам то autocomplete на jquere написан.
Потому-что атрибут autocomplete проставляется тегу form, а не input.

У меня в инструкции к инпуту надо было прикручивать. Да и как то не логично кажется к форме прикручивать. В форме же много полей. Если я к форме прикручу откуда он узнает в из какого поля надо брать информацию для обработки?
Ответить с цитированием
  #6 (permalink)  
Старый 23.03.2014, 20:40
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
Сам то autocomplete на jquere написан.

У меня в инструкции к инпуту надо было прикручивать. Да и как то не логично кажется к форме прикручивать. В форме же много полей. Если я к форме прикручу откуда он узнает в из какого поля надо брать информацию для обработки?
Ответить с цитированием Нажмите у нескольких сообщений, и затем - БОЛЬШУЮ кнопку ответить Быстрый ответ на это сообщение
Хм, я подумал, ты про стандартный autocomplete, который как раз формам прописывается.

Если плагин - так проводи заново инициализацию автокомплита при создании нового инпута, просто проставить атрибут тут недостаточно. Самый простой, но не самый хороший вариант - прописать в конце функции
$(".adreceptmax").autocomplete(тут_нужные_данные)

, то есть, инициализация будет проведена над всеми элементами с классом adreceptmax заново. Это самый простой вариант, но, во-первых, не факт, что плагин при этом поведет себя корректно, во-вторых - это может замедлить страницу, если инпутов много и/или если данные для инициализации грузятся с сервера. Вариант посложнее, но лучше - проводить инициализацию именно для вновь создаваемого поля ввода, но для этого надо переписывать код, а для этого хорошо бы увидеть всю функцию.
Ответить с цитированием
  #7 (permalink)  
Старый 23.03.2014, 20:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

Nobas,
так после создания проинициализируйте плагин на этом инпуте - откуда плагину знать что есть ещё один элемент
Ответить с цитированием
  #8 (permalink)  
Старый 24.03.2014, 15:05
Новичок на форуме
Отправить личное сообщение для Nobas Посмотреть профиль Найти все сообщения от Nobas
 
Регистрация: 22.03.2014
Сообщений: 7

рябата! Спасибо огромное!!! всё получилось! прописал как Erolast посоветовал в функции добавления полей $(".adreceptmax").autocomplete и всё заработало!)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммирование значений по всем динамически добавленным полям Joliat Общие вопросы Javascript 2 12.02.2014 16:01
Autocomplete c url (js+pl) DavydovPK jQuery 0 11.02.2014 14:15
AutoComplete & dynamic table TuncaH Элементы интерфейса 0 18.09.2012 21:49
Обработка ДИНАМИЧЕСКИ созданных checkbox Tankiro1 Общие вопросы Javascript 1 04.07.2009 02:56
Добавление полей к форме deliro Общие вопросы Javascript 7 22.03.2009 15:20