Доброго времени суток. Решил в форме реализовать AutoComplete бокс и начал использовать плагин
http://bassistance.de/jquery-plugins...-autocomplete/.
Все хорошо, но таблица у меня динамическая. Таблица реализована по методу поиска тегов <tr>, копируется содержимое и добавляется ко всем атрибутам индекс.
Если у нас к примеру первый рядок таблицы содержал такие инпуты:
<tr>
<td>
<input type="text" name="last_name" id="last_name">
</td>
<td>
<input type="text" name="first_name" id="first_name">
</td>
<td>
<input type="text" name="middle_name" id="middle_name">
</td>
</tr>
То после нажатия кнопки AddRow, будет добавлен рядок с такими инпутами:
<tr>
<td>
<input type="text" name="last_name1" id="last_name1">
</td>
<td>
<input type="text" name="first_name1" id="first_name1">
</td>
<td>
<input type="text" name="middle_name1" id="middle_name1">
</td>
</tr>
Ну и так далее...
Допустим, повесим на
last_name, AutoComplete.
Ну ничего сложного, по сути:
$(function(){
$('.col1_1').autocomplete("list_user.php", {
selectFirst: false,
delay: 300
});
});
Соответственно не забываем прописать в инпуте с именем
last_name, вот такой класик:
class="col1_1"
AutoComplete работает, но только в первом рядке, это и понятно ибо мне нужно повесить в функцию
AddRow выполнение
autocomplete. И решил я повесить это все на
each:
$(function AddRow(){
...bla bla bla...
$('col1_1').each('click', function() {
$(this).autocomplete("list_user.php", {
selectFirst: false,
delay: 300
});
});
...bla bla bla...
});
И все работает, НО! Допустим мы ввели
last_name, потом добавляем второй
last_name1, и по привычке клацаем два раза по второму инпуту(либо просто один рас, а потом клавишу вниз или вверх - не важно), и видим что вызывается 2
autocomplete, как
last_name, так и
last_name1. При добавлении следующей строки(рядка, последующего вызова функции
AddRow), мы получим аналогичную кратину - вызов двух
autocomplete -
last_name и
last_name2. И так далее...
Как сделать "destroy"
autocomplete в первой строчке(рядке), в этом плагине?
Знаю что в JQuery UI есть такая функция, но он мне не подходит.
Я уже думал удалить все атрибуты с первого инпута, но он зараза автоматом прописывает свой класс вызова. Такое ощущение что ему нужно запретить вызов автокомплита по индексу 0 в состоянии unfocus. Только как это сделать, увы пока не знаю... Есть идейки?
Завтра утром выложу весь код, для большей ясности картины.
Выкладываю обещанный код:
http://jsfiddle.net/uvMGH/4/
Только autocomlete не получилось использовать, поэтому заюзал autocompleteArray с того же плагина. Попробуйте добавить 3 строки и заполнить каждую по очереди в столбце "Учебное заведение". При заполненнии 3-ей обратите внимание на 1-ю, как только набираешь букву "М" в 3-ей ячейки, первая тоже вызывает autocompleteArray. Как от этого избавится?