2013-05-31 14 views
8

Chciałbym skorzystać z listy kendo rozwijanej, która ma stały rozmiar, ponieważ jest ograniczony przez innych pól na stronie, ale kiedy pokazuje elementy rozwijanej listy, spadek -powierzchnia powinna zostać zmieniona do maksymalnej długości elementów. Sortuj stałą szerokość wyświetlanej pozycji, ale szerokość automatyczna dla rozwijanej listy. CośUstaw Kendo UI DropDownList szerokość

|my choice |  <-- fixed width displayed on the page 

|next choice  | 
|previous choice | <-- dropdown area to select another item 
|dummy   | 

Jest to możliwe poprzez CSS lub rozwijanych przez właściwości setlistę jQuery?

Odpowiedz

12

Możesz ustawić szerokość listy upuszczenia za pomocą CSS lub używając metody.

Jeśli identyfikator z was DropDownList jest my-dropdown powinieneś napisać:

  • pomocą CSS

    # my-rozwijana lista-{ width: auto ważne; }

UWAGA: Mamy dołączany -list do oryginalnego id. Ważność "! Important" jest ważna, ponieważ chcesz zastąpić oryginalną szerokość.

  • Stosując metodę

    $ ("# my-rozwijana") danych ("kendoDropDownList") list.width ("auto")..;

Ponadto użycie „auto” dla uzyskania szerokość automatycznie dostosowywane do tekstu, można użyć stałej szerokości

#my-dropdown-list { 
    width: 300px !important; 
} 

lub

$("#my-dropdown").data("kendoDropDownList").list.width(300); 
5

Powyższa odpowiedź nie zrobił Działają dla mnie. Mam tę przewagę, że wiem, że moje menu znajduje się w div.

<div class="myDivClass"> 
    <select id="myDropDown"><option>First</option><option>Second></option></select> 
    <!--... other stuff in the div--> 
<div> 

okazało się, że rozpiętość ma klasy K-rozwijaną więc dodałem CSS

.myDivClass span.k-dropdown { 
    width: 300px 
} 
0

Co pracował dla mnie jest to, aby uczynić dodatkową klasę na elemencie bazowym:

<input .. class="ExtraLarge .. 

który produkował:

<span style="" class="k-widget k-dropdown k-header ExtraLarge" .. 

Z tej klasie extralarge w miejscu, to działał świetnie w Firefox i Chrome:

span.k-dropdown.ExtraLarge 
{ 
    width:400px; 
} 
0

Korzystanie poniższy kod, żeby być szablon dropdownlist kendo:

<div class="myDivClass"> 
<select id="myDropDown"><option>First</option><option>Second></option></select> 
<!--... other stuff in the div--> 
<div> 

można zainicjować kendoDropDownList przy użyciu jQuery w następujący sposób:

$("#myDropDown").kendoDropDownList().data("kendoDropDownList"); 

teraz, aby ustawić ten kontroler do podjęcia pełnej szerokości, co trzeba zrobić, to ustawić szerokość elementu select do 100%, lub co jest twoje pragnienie. np

<select id="myDropDown" style="width: 100%"><option>First</option><option>Second></option></select> 

OR, to plik css:

#myDropDown { width: 100% }