Доступ к относительным элементам в jquery ui автозаполнения? - PullRequest
1 голос
/ 06 июня 2011

Я пытаюсь отправить дополнительные параметры с автозаполнением jqueryUI, используя абстрактный подход.Сокращенная версия используемого html:

<form id='employees'>
   <input class='autocomplete' name='id_number' />
</form>

Мне нужно, чтобы я мог найти идентификатор родителя относительно любого ввода автозаполнения (так как на одной странице может быть несколько).Пока что у меня есть код:

    $(".autocomplete").autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "search.php",
                data: {
                    form_id: // need help!
                    string: request.term
                },
                success: function( data ) {
                    // do stuff
                }
            });
        }
    });

Итак, что мне нужно отправить как form_id:

$(this).parent().attr('id')

Однако проблема в том, что использование $ (это) однажды внутри функции-источника в вызове $ .ajax теряется ссылка на исходный элемент, и до этого я не вижу никакой точки, в которой я могу создать переменную, ссылающуюся на исходный элемент.

Как это сделатьо получении идентификатора родителя для отправки в качестве параметра?

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 06 июня 2011

Почему вам не нравится следующий код? Это может дать вам представление ...

$(".autocomplete").each(function() {
    var ac = $(this);
    var parentId = $(this).parent().attr('id');       
    ac.autocomplete({
        minLength: 3,
        source: function(request, response) { 
            findSuggestions(request, response, 'artist', artist_cache, parentId);
        }
    });
});
...