1

我正在使用这个插件:http: //jquery-ui.googlecode.com/svn/branches/labs/selectmenu/index.html(下拉式)

它运行良好,但是当我在页面底部添加一个选择菜单时,就会发生这种情况:

在此处输入图像描述

当SelectMenu位于下拉菜单上而不是以下时,我该如何解决这个问题?

我使用的 JS:

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

1 回答 1

2

我认为您使用的版本不是最新的。您应该从官方存储库GitHub 存储库中查看源代码。

来自 GitHub 的版本使用来自 jQuery UI 的jquery.ui.position,它允许您指定相对于元素显示菜单的位置(“top top”、“left bottom”...),还允许碰撞检测

文档中:

当定位的元素在某个方向溢出窗口时,将其移动到另一个位置。与 my 和 at 类似,它接受单个值或水平/垂直对,例如。“翻转”、“适合”、“适合翻转”、“不适合”。

所以你宁愿以这种方式使用插件:

$('#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()似乎不再存在,但选项位置当然仍然存在)。

于 2012-01-27T10:44:59.260 回答