Задача : на форме есть минимум 1 поле - обзавем его dynamic_input_1 и в некоторых случаях количество полей необходимо увеличить - соответственно они будут dynamic_input_2..dynamic_input_n также во всех этих полях должен работать аутокомплит .. брать из базы ид и текст и выводить пользователю но вот незадача : dynamic_input_1 - статическое и в нем аутокомплит работает .. а вот в добавленных полях он не срабатывает вот как я делаю : форма Код (Text): <form> <table class="dynamic"> <tr><td>поля для работы</td><td><a href="#" class="add_spisanie">Добавить</a> </td></tr> <input name="counter" class="counter" value="1" type="hidden" /> <tr><td><input type="input" name="dynamic_input_1" value="" class="neispravnost" rel="1"/></td><td> </td></tr> </table> </form> теперь javascript добавление и удаление полей Код (Text): $('.add_spisanie').click(function(){ var num = parseInt($('.counter').val())+1; $('.counter').val(num); $('<tr class="test_'+num+'"><td><input type="input" name="dynamic_input_'+num+'" value="" class="neispravnost" rel="'+num+'"/> </td><td><a href="#" rel="'+num+'" class="remove_spisanie">Удалить</a></td></tr>').appendTo('.dynamic'); return false; }); $('.dynamic').on('click','.remove_spisanie',function(){ var num = $(this).attr('rel'); $('.test_'+num).remove(); $('.dynamic_'+num).remove(); return false; }); теперь javascript аутокмплита Код (Text): $.getJSON( "/uchet/imushestvo/imushestvo.php?data=neispravnost", function(data){ $('.neispravnost').autocomplete({ source: data,minLength:1, select: function( event, ui ) {alert($(this).attr("rel")); //var num=$(this).attr("rel"); //$("#neispravnost_id_"+num).val(ui.item.id) }}); как видно аутокмплит натравлен на класс neispravnost - когда статическое поле и даже не одно ( специально проверял) все работает - а к новым полям он не срабатывает (( у меня есть 1 не очень хорошая идея - попробовать весь текст аутокомплита воткнуть в функцию и при добавлении поля опрашивать снова сервер и все такое .. но как то это не правильно - должен же быть какойто простой способ заставить его видеть только что созданный класс
сижу думаю - нашел несколько советов - чтото типа такого Код (Text): $.getJSON( "/uchet/imushestvo/imushestvo.php?data=neispravnost", function(data){ var neispravnost = data; }); $('.dynamic').on('focus','.neispravnost',function(){ $(this).autocomplete({ source: neispravnost,minLength:1, select: function( event, ui ) {alert($(this).attr("rel")); //var num=$(this).attr("rel"); //$("#neispravnost_id_"+num).val(ui.item.id) }}); но почемуто мне не нравится что при каждом клике будет прикручиваться аутокомплит.. кстати интересный вопрос - будет или нет ? =) Добавлено спустя 1 минуту 56 секунд: сразу говорю я спецом сделал именно такую загрузку ($.getJSON) - почему ? - сервак не дергает каждый раз когда в инпуте набираете букавку. Добавлено спустя 15 минут 55 секунд: вроде запустил - по 2 варианту работает.. выслушиваю критику и какие возможны сбои в работе ?