Я хотел бы разработать каждый экземпляр плагина автоматического заполнения jQuery по-другому на каждой странице. Кроме я не могу выяснить, как установить стили, чтобы отличаться для каждого экземпляра. Я, может казаться, не переношу стили ac_* в отделении для идентификации их из CSS. Каждое изменение я делаю влияние обоими. Какие-либо идеи?
Спасибо.
Я думаю, что вы обнаружите, что ваша проблема заключается в том, что список автозаполнения не размещается внутри вашего заполнителя ... Пример:
<div class="differentStyle">
<input type="text" class="autocomplete">
</div>
Когда результаты возвращаются, новый div добавляется на страницу Для отображения результатов - но не внутри вашего разделения «Разнообразное». Это просто добавляется в конец дома. Например:
<div class="differentStyle">
<input type="text" class="autocomplete">
</div>
...
<div class="ac_results">I get added by jQuery Autocomplete!</div>
</body>
Чтение документации, я бы сказал, что она будет переопределить стиль для двух авто-полных ящиков на той же странице невозможно:
Искал что-то еще, когда наткнулся на этот пост ... Мне удалось сделать это, перехватив следующие события автозаполнения и добавив свой собственный класс во внешний, в котором находится вывод автозаполнения. Затем используйте CSS для форматирования элементов по мере необходимости. Надеюсь, это кому-то поможет.
$input.autocomplete({
focus : function(event, ui) {
$(".forms-search-result").parents("ul").addClass("myClass");
return false;
},
open : function(event, ui) {
$(".forms-search-result").parents("ul").addClass("myClass");
},
Пример css:
.myClass a.ui-corner-all { font-weight:bold; }
Также как часть моих результатов JSON я просто передаю обратно (из моего действия JAVA AJAX) оболочку HTML с результатом, встроенным в нее, как часть фактического «результата» JSON. Таким образом, я могу создать подробный HTML-код для каждого результата, а затем использовать описанный выше метод, чтобы отформатировать их так, как я хочу.