私はこの質問が少なくとも3回前に尋ねられたことを知っていますが、私が見た答えは私が探していたものではありませんでした。 Twitter bootstrapがそのtypeahead関数で生成するオートコンプリートフィールドの幅を増やしたいと考えています。フィールド内のすべてのテキストをカバーするように広がることを読んでいます。テキストが長いほどオートコンプリートフィールドが広くなりますが、検索フィールドの幅が広いので、span6にしたいと思います。jqueryの回答をいくつか見ましたが、フォローできませんでした。
マイケル・ワトソンは、彼のコメントの中で最も簡単だと思うことを述べました。
.Twitter-typeahead { width: 100%; }
更新#1:以下のコメントに基づいて(Steve、Vishiに感謝)、.tt-hint
、.tt-input
、.tt-dropdown-menu
。
更新#2: mlissnerは.tt-dropdown-menu
今でしょ .tt-menu
、したがって最終結果は
.Twitter-typeahead, .tt-hint, .tt-input, .tt-menu { width: 100%; }
ドロップダウンメニューはtypeahead
dropdown-menu
クラスのulです。CSSを使用して幅を設定できます。
.dropdown-menu
{
width: .... px;
}
Span6の幅は静的ではないため、応答するにはメディアクエリが必要です。
Bootstrap 3の場合、typeahead関数はTB3から削除され、代わりに https://github.com/Twitter/typeahead.js/ を使用します=。 Twitterのブートストラップと統合するには、いくつかの 追加のCSS が必要です。typeahead.js
ドロップダウンメニューを取得してデフォルトのブートストラップのテーマに合わせるには、追加のCSSをロードする必要があります。 extended Bootstrap's LESS を試すか、より拡張されたバージョンを探している場合は typeahead.js-bootstrap3.less を試してください。
のドロップダウンは、.tt-dropdown-menuクラスで設定されるようになりました。 CSSを変更する代わりに、幅を動的に設定することもできます。先行入力では、先行入力タグのクラス:
$('.typeahead').typeahead({})
on('typeahead:opened',function(){$('.tt-dropdown-menu').css('width',$('.typeahead').width() + 'px');});
ドロップダウンをフィールド幅に一致させるには、次のようなものが必要です。
$(document).on('typeahead:opened', function(event, datum) {
var width = $(event.target).width();
$('.tt-dropdown-menu').width(width);
});
Event.targetとグローバルドキュメントリスナーを使用した上記の小さな改善。
私はBootstrap 3.2.0 typeahead.js-bootstrap3.less を使用し、次のようにdivに入力をネストしています:
<div class="form-group">
<label>my label</label>
<div class="col-md-4">
<div class="input-group tt-input-group">
<input id="mytypeahead" class="form-control" />
</div>
</div>
</div>
私はこれをcssに追加する必要もありました:
.tt-input-group {
width: 100%;
}
これが純粋なCSSソリューションです。
.dropdown-menu
は絶対位置に配置され、position: relative;
_を囲むdivにuib-typeahead
入力フィールドと設定width: 100%;
あなたの.dropdown-menu
は修正します。
CSSは次のようになります。
.typeahead-search {
position: relative;
}
.dropdown-menu {
width: 100%;
}
これは新しいバージョン用です:
.Twitter-typeahead, .tt-menu
{
display: block !important;
}