jQueryUI Autocomplete ComboBox Too Long

Mój jQuery UI AutoComplete ComboBox nie ma paska przewijania po prawej stronie i staje się bardzo, niewymuszony, długi, jak pokazano poniżej. Chciałbym zawęzić tę listę do rozsądnej długości - jakieś pomysły na to, jak można to osiągnąć? Dzięki!

jQuery UI AutoComplete ComboBox

Author: Richard, 2012-02-07

6 answers

Możesz ustawić wysokość za pomocą CSS:

.ui-autocomplete {
    max-height: 600px;
    overflow-y: auto;   /* prevent horizontal scrollbar */
    overflow-x: hidden; /* add padding to account for vertical scrollbar */
    z-index:1000 !important;
}
 78
Author: j08691,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-07 19:55:16

Jest to stare pytanie, więc podczas gdy rozwiązanie j08691 działało dobrze ze starszymi krokami pierwotnymi, teraz nazwa klasy została zmieniona na"Ui-autocomplete-list":

.ui-autocomplete-list {
    max-height: 400px;
    overflow-y: auto;   /* prevent horizontal scrollbar */
    overflow-x: hidden; /* add padding to account for vertical scrollbar */
    z-index:1000 !important;
}
 4
Author: jonnieZG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:20

W pewnym momencie to się zmieniło ponownie, od jQuery-UI 1.12.1 klasa jest ' UI-autocomplete.ui-front ' więc akceptowana odpowiedź staje się:

.ui-autocomplete.ui-front {
    max-height: 600px;
    overflow-y: auto;   /* prevent horizontal scrollbar */
    overflow-x: hidden; /* add padding to account for vertical scrollbar */
    z-index:1000 !important;
}
 2
Author: adejones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-03 22:38:00

Zacznij szukać w CSS. Najprawdopodobniej lista rozwijana to select lub ul. Jeśli rozwijana lista jest zamknięta w DIV, dodaj "overflow:auto", co da mu pasek przewijania. Lub ustawić maksymalną wysokość do div. Innym rozwiązaniem byłoby ograniczenie wyników. Po prostu nie wypełniaj pola tak wieloma wpisami.

 1
Author: Churk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-07 19:52:40

Utwórz własne rozszerzenie i dodaj wymagane metody:

$.widget("custom.combobox",
$.custom.combobox,
{
    //Extension metod to add custom css to input
    addInputCss: function (css) {
        this.input.addClass(css);
    },

    //Extension metod to add custom css to menu (opened select list)
    addMenuCss: function (css) {
        $(this.input.autocomplete("instance").menu.element).addClass(css);

    },
});

Przykładowe użycie:

$("#yourSelectId").combobox().combobox("addInputCss","yourInputCss").combobox("addMenuCss","yourMenuCss");
 0
Author: Uri Gorobets,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-10 11:28:06
.ui-autocomplete {
    overflow-y: auto;
    height: 300px;
    overflow-x: hidden;
}
To by wystarczyło. Bez poziomego paska przewijania.
 0
Author: Hiran D.A Walawage,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-07 09:15:32