jquery-autocomplete (автономная) заданная ширина - PullRequest
1 голос
/ 20 апреля 2011

Я с удовольствием использую этот автозаполнение: http://code.google.com/p/jquery-autocomplete/.

Мне нужно изменить ширину сгенерированного списка ul, но я не могу сделать это с помощью CSS:

.acResults {
    width: 348px;
}

кажется, что ширина устанавливается в javascript каждый раз, когда результат генерируется как:

$('.acResults').width(348);

работает, но только один раз (перезаписывается после набора текста). Я попытался использовать вышеупомянутую функцию в обоих «showResult» и «onItemSelect», но оба сразу перезаписываются.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 20 апреля 2011

Вы можете исправить стиль, используя !important, хотя это не очень хорошая практика.Пример:

.acResults {
    width: 348px !important;
}
0 голосов
/ 09 февраля 2013

просто увеличьте ширину 'ac_results', и он скроет переполнение y

.ac_results ul {
width: 180px;
/* 
increase width to hide overflow
*/
list-style-position: outside;
list-style: none;
padding: 0;
margin: 0;

}

0 голосов
/ 20 апреля 2011

Просто удалите (или измените) строки в вашей локальной копии плагина, которые устанавливают ширину списка, т. Е .:

extraWidth = this.dom.$results.outerWidth() - this.dom.$results.width();
this.dom.$results.width(this.dom.$elem.outerWidth() - extraWidth);

Вы можете изменить его на:

this.dom.$results
    .width(Math.max(this.dom.$elem.outerWidth() - extraWidth, 348));

Если вы используете минимизированную версию, возьмите минимизированную версию, измените ее и пропустите через выбранный вами минификатор.

В качестве альтернативы, вы можете создать патч, который принимает параметр минимальной ширины списка, и отправить его на dylan.verheul или отправить новый запрос на страницу *1000* проблем , возможно.

...