jQuery UI オートコンプリートの幅が正しく設定されない件
2023-08-18 14:56:06
質問
jQuery UI オートコンプリート ボックスを実装しましたが、テキストボックスの幅ではなく、ドロップダウンオプションがページの残りの幅を埋めるように拡張されています。
この例を見て、自分自身で確認してください。 http://jsbin.com/ojoxa4
というように、リストを作成した直後に幅を設定してみました。
$('.ui-autocomplete:last').css('width',
$('#currentControlID').width()
);
これは何もしていないように見える。
ページ上のスタイルを使って幅を設定することも試してみました。
ui-autocomplete { width: 500px; }
これは驚くほどうまくいきますが、ページ上のすべてのオートコンプリートが同じ幅でなければならないことを意味し、これは理想的ではありません。
各メニューの幅を個別に設定する方法はありますか? あるいは、より良い方法は、なぜ幅が正しく機能しないのか、どなたか説明していただけないでしょうか。
どのように解決するのですか?
この問題は、メニューが親要素(デフォルトでは body)の幅いっぱいに展開されることに起因しています。 これは、正しい幅の包含要素を与えることによって修正することができます。
まず、私は
<div>
のようにします。
<div id="menu-container" style="position:absolute; width: 500px;"></div>
絶対位置指定によって
<div>
を入力の直後に配置することができます。
そして、オートコンプリートを呼び出す際に、入力の直後に
appendTo
という引数をオプションで指定すると、メニューは私の
<div>
に追加され、その幅が継承されます。
$('#myInput').autocomplete({ source: {...}, appendTo: '#menu-container'});
これで問題は解決しました。 しかし、プラグインが正しく動作するのではなく、なぜこのようなことが必要なのか、まだ知りたいと思います。
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryを使用してspanに値を設定する方法
-
[解決済み] jQueryでval()がchange()をトリガーしない
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] クラスメソッド内の "this "をタイプスクリプトで記述する
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] JQueryでラジオボタンがチェックされているかどうかを調べる?
-
[解決済み] Twitter Bootstrapのモーダルクローズに関数をバインドする
-
[解決済み] 既存の非順序型リストにリストアイテムを追加する方法
-
[解決済み] jQueryを使用してテキストボックスの値を取得するには?
-
[解決済み] チェックボックスがチェックされた場合のjQuery
-
[解決済み] セレクトボックスの選択項目を設定する
-
[解決済み] jQuery: outer html() [重複]。
-
[解決済み] Jqueryのコードはヘッダーとフッターのどちらに入れるべきですか?