Использование HTML в автозаполнении пользовательского интерфейса jQuery

До пользовательского интерфейса jQuery 1.8.4 я мог используйте HTML в массиве JSON, который я построил для работы с автозаполнением.

Я смог сделать что-то вроде:

$row_array['label'] = 'User, Name';

Это будет отображаться как красный текст в выпадающем меню.

Как из 1.8.4, который не работает. Я нашел http://dev.jqueryui.com/ticket/5275 , который говорит мне использовать пользовательский пример HTML здесь , который у меня был не повезло с.

Как я могу заставить HTML отображаться в предложении?

Мой jQuery:


Мой массив JSON включает HTML, например:

[{"label":"User, Name","value":"User, Name","id":"10"}]

82
задан Peter Mortensen 20 February 2013 в 22:51
поделиться

1 ответ

Добавьте это в свой код:

).data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( "<a>"+ item.label + "</a>" ) 
                .appendTo( ul );
        };

Таким образом, ваш код станет:

<script type="text/javascript">
 $(function () {
     $("#findUserIdDisplay").autocomplete({
         source: "ui_autocomplete_users_withuname.php",
         minLength: 2,
         select: function (event, ui) {
             $('#findUserId').val(ui.item.id);
             return false;
         }
     }).data("ui-autocomplete")._renderItem = function (ul, item) {
         return $("<li></li>")
             .data("item.autocomplete", item)
             .append("<a>" + item.label + "</a>")
             .appendTo(ul);
     };
 });
</script>

Примечание: В старых версиях jQueryUI используйте .data ("autocomplete") " вместо .data ("ui-autocomplete")

117
ответ дан 24 November 2019 в 09:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: