2010-04-02 4 views
0

Я создаю функцию автозаполнения на входном теге, используя следующий код.Добавить автозаполнение объекта для динамически добавленного тега ввода

$('.query').autocomplete({ 
    serviceUrl:'http://localhost/main/finder.php', 
    minChars:2, 
    delimiter: /(,|;)\s*/, // regex or character 
    maxHeight:400, 
    width:400, 
    zIndex: 9999, 
    deferRequestBy: 0, //miliseconds 
    onSelect: function(value, data){ 
    } 
    }); 

Теперь проблема заключается в моем входном элементе добавляется динамически, для первого ввода тегов автозаполнение работает, но когда я добавить еще один входной тег, то он не для второго.

поэтому мне нужно некоторое средство, которое жить() обеспечивают в JQuery ...

пожалуйста, опубликовать решение

ответ

1

Вы ищете livequery plugin:

$('.query').livequery(function() { 
    $(this).autocomplete({ 
     serviceUrl:'http://localhost/main/finder.php', 
     minChars:2, 
     delimiter: /(,|;)\s*/, // regex or character 
     maxHeight:400, 
     width:400, 
     zIndex: 9999, 
     deferRequestBy: 0, //miliseconds 
     onSelect: function(value, data){ 
     } 
    }); 
}); 

Это будет работать при каждом добавлении новых элементов, соответствующих селектору.

+1

@hunt к сведению, что вы должны убедиться, что ваши динамические обновления страницы проходят через «стандартный» API для JQuery. – Pointy

+0

Ну, я использую следующий плагин для jquery http://www.devbridge.com/projects/autocomplete/jquery/ – hunt

+0

Как вы меняете контент? – SLaks

1
+0

Ну, я добавил следующую строку, когда динамически вводимый тег с запросом класса создано: \t $ (this) .children ('. query'). autocomplete ({....}); Он отлично работает, поскольку я видел подход в ссылке выше, но увеличивает ли это накладные расходы? – hunt

+0

хорошо это решение не работает, поскольку оно каждый раз добавляет объект автозаполнения – hunt

Смежные вопросы