Есть несколько способов добавить свой собственный CSS, когда дело доходит до автозаполнения.Ваш пост не показывает, что вы хотите, поэтому я постараюсь быть расплывчатым.
Примите во внимание следующее:
$(function() {
$('#addModalUserSearch').autocomplete({
classes: {
"ui-autocomplete": "user-search"
},
source: function(request, response) {
$.ajax({
url: "getAdminAddUserChoices",
dataType: "json",
type: "get",
data: {
'term': request.term,
'org': $('#adminUserOrg').val()
},
success: function(data) {
response($.map(data, function(item) {
return {
label: item.value,
value: item.key
}
}));
}
});
},
minLength: 2,
delay: 100,
select: function(event, ui) {
//...
}
});
});
.user-search {
top: 120px !important;
left: 80% !important;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div class="ui-widget">
<label for="addModalUserSearch">User: </label>
<input id="addModalUserSearch">
</div>
Этот пример практически не работает из-за удаленного источника, но вы все еще можете увидеть генерацию основного списка:
<ul id="ui-id-1" tabindex="0" class="ui-menu ui-widget ui-widget-content ui-autocomplete user-search ui-front" style="display: none;"></ul>
Вы видите, что класс user-search
указан в списке и может быть вызван и стилизован CSS специально для этого автозаполнения.
Вы также можете рассмотреть возможность использования опции position
.
position Тип: Object, По умолчанию: { my: "left top", at: "left bottom", collision: "none" }
Определяет положение меню предложений относительно соответствующего элемента ввода.Параметр опции по умолчанию используется для элемента ввода, но вы можете указать другой элемент для позиционирования.Вы можете обратиться к утилите jQuery UI Position для получения более подробной информации о различных опциях.
Еще один более сложный способ сделать это - использовать точку расширения _RenderMenu
,Поскольку AutoComplete использует Menu для создания списка выбора, вы можете привязать его к более глубокому управлению его внешним видом.
_renderMenu (ul, items) , Возвраты: jQuery (только плагин))
Метод, управляющий построением меню виджета.Методу передается пустой <ul>
и массив элементов, которые соответствуют введенному пользователем термину.Создание отдельных <li>
элементов должно быть делегировано _renderItemData()
, что, в свою очередь, делегирует точке расширения _renderItem()
.
Надеюсь, это поможет.