1

私はこのプラグインを使用しています:http://jquery-ui.googlecode.com/svn/branches/labs/selectmenu/index.html(ドロップダウンスタイル)

そしてそれはうまく機能していますが、ページの下部に選択メニューを追加すると、これが起こります:

ここに画像の説明を入力してください

選択メニューが下部にあり、ドロップダウンが下ではなく上に表示されるようにするには、どうすればよいですか?

私が使用する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"、 "leftbottom" ...)を指定でき、衝突検出も可能になります。

ドキュメントから:

配置された要素がウィンドウのある方向にオーバーフローした場合は、別の位置に移動します。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 に答える