Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery autocomplete не работает в цикле (https://javascript.ru/forum/jquery/59895-jquery-autocomplete-ne-rabotaet-v-cikle.html)

t.soyuzova 02.12.2015 09:42

jQuery autocomplete не работает в цикле
 
Дорогие Форумчане, доброго дня всем!
Прошу помощи. Использую autocomplete для списков select, находящихся в цикле:

$(function(){
    $('#category').autocomplete('search.php?mode=sql', {
        width: 200,
        max: 10
    });
});

В search.php идет подключение значений из базы.
Автоматически функция не прорабатывает каждый элемент в цикле, поэтому залезла в учебник и нашла инфо об использовании each(). Делаю так:
$('#category').each(function(){
    $(this).autocomplete('search.php?mode=sql', {
        width: 200,
        max: 10
    });
});

Не работает... Подскажите, пожалуйста, что я неправильно делаю.

рони 02.12.2015 09:54

Цитата:

Сообщение от t.soyuzova
Подскажите, пожалуйста, что я неправильно делаю.

прочитать что такое id и подумать о class если совсем плохо то об атрибуте=id.

t.soyuzova 02.12.2015 10:54

Вы имеете ввиду это:
var div = document.getElementById('category');
??

рони 02.12.2015 11:14

t.soyuzova,
id уникально!!! при поиске ищется только первый, потому что в нормальном случае других нет. нужно много используют class
$(function(){
    $('точкаВашКласс').autocomplete('search.php?mode=sql', {
        width: 200,
        max: 10
    });
});

если хочется погорячее, то поиск по атрибуту id
$(function(){
    $('[id="category"]').autocomplete('search.php?mode=sql', {
        width: 200,
        max: 10
    });
});

t.soyuzova 02.12.2015 11:24

Точно!!! как можно было не догадаться))) Очень помогли, спасибо!

vettel 02.12.2015 15:48

Цитата:

Сообщение от рони (Сообщение 398377)
t.soyuzova,
id уникально!!! при поиске ищется только первый,

Если я не ошибаюсь, в случае не одного id на странице getElementById выберет не первый, а случайный.

рони 02.12.2015 15:54

Цитата:

Сообщение от vettel
не первый, а случайный.

сами проверяли?

vettel 02.12.2015 16:00

В учебнике так написано)) https://learn.javascript.ru/searching-elements-dom

Хотя только что проверил - действительно, возвращает всегда первый элемент.


Часовой пояс GMT +3, время: 18:52.