Автозаполнение пользовательского интерфейса jQuery - renderItem url's - PullRequest
1 голос
/ 24 сентября 2010

Использование:

.data( "autocomplete" )._renderItem = function( ul, item ) {
                var temp = item.url.substring(16, item.url.length)
                return $( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( "<a>" + item.value + "<br>" + item.url + "<br>" + item.description + "<br>" + "Support URL: " + item.support_url + "<br>" + "Contact: " + "<a href=" + item.contact + ">Test</a>" + "<br />" + "</a>"  )
                .appendTo( ul )

jQuery анализирует item.url и автоматически делает это ссылкой в ​​html. Я хотел бы вручную контролировать то, что становится href, чтобы я мог сделать что-то вроде "<a href='" + item.url + ">" + item.title "</a>"

Способ, которым jQuery теперь обрабатывает item.url как href, добавляет мой html href и не использует заголовок должным образом.

В более старой версии автозаполнения я смог сделать .result(function(event, item) { location.href = item.url; });, но здесь это не поддерживается.

1 Ответ

1 голос
/ 23 мая 2011

Вы можете предоставить обратный вызов, который будет выполняться при выборе элемента.

$("#input").autocomplete({
    source: mySource, 
    select: function(event, ui){
        window.location = ui.item.url;
    }
});

Ссылка: http://docs.jquery.com/UI/Autocomplete#event-select

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...