JQuery UI выбор меню ломает макет - PullRequest
1 голос
/ 27 января 2012

Я использую этот плагин: http://jquery -ui.googlecode.com / svn / филиалы / labs / selectmenu / index.html (стиль выпадающего меню)

И он работаетхорошо, но когда я добавляю selectmenu внизу моей страницы, это происходит:

enter image description here

Как я могу это исправить, если когда selectmenu находится внизу, выпадающий список появляется вышевместо?

JS я использую:

$('select').not("select.multiple").selectmenu({
    style: 'dropdown',
    transferClasses: true,
    width: null
});

1 Ответ

2 голосов
/ 27 января 2012

Я думаю, что версия, которую вы используете, не самая последняя. Вам следует проверить источник из GitHub репозитория , который является официальным репозиторием.

В версии из GitHub используется jquery.ui.position из пользовательского интерфейса jQuery, который позволяет указать, где отображать меню относительно элемента («верхний верх», «левый нижний» ... ), а также позволяет обнаруживать столкновения .

Из документации :

Когда позиционированный элемент переполняет окно в некотором направлении, переместите его в альтернативную позицию. Похоже на мой и на, это принимает одно значение или пара для горизонтального / вертикального, например. «перевернуть», «подогнать», «соответствовать флип», «не подходит ни один».

Так что вы бы предпочли использовать плагин следующим образом:

$('#myelement').selectmenu({
    ...
    position: {
        my: "left top", // default
        at: "left bottom", // default

        // "flip" will show the menu opposite side if there
        // is not enough available space

        collision: "flip"  // default is ""
    }
});

Проверьте следующий вопрос для объяснения аналогичной проблемы (кажется, что метод _refreshPosition() больше не существует, как есть, но позиция опции, конечно, все еще там).

...