これがどこかでカバーされているかどうかはわかりませんが、ドキュメントで見つけることができず、検索入力ボックスを jQuery 選択プラグイン (スタイル選択入力に使用) に含めないようにすることは可能かどうか疑問に思っていました。具体的には、それなしで標準の選択を使用したいと思います。
12 に答える
簡単なフォローアップ: 私は機能でそれに気付きました
AbstractChosen.prototype.set_default_values
変数が読み取られます
this.options.disable_search
したがって、検索フィールドを無効にすることができます
jQuery('select').chosen( {disable_search: true} );
固定数のしきい値を使用せずに。
$(".chzn-select").chosen({disable_search_threshold: 3});
select の要素数が disable_search_threshold より小さい場合 (ここでは 2 以下)、検索ボックスは表示されません。
ドキュメントも試してみましたが運が悪かったので、最終的にこれに修正しました
$('.chzn-search').hide();
選択したと呼んだ後、私は上記を行います。お役に立てれば
スタイルシートにクラスを追加します。
.chzn-select { display: none }
または、個々の要素について、要素を指定し、_chzn
それをターゲットに追加します。
#element_chzn .chzn-select { display: none; }
注意: selected は、要素 ID とクラスのハイフンをアンダースコアに変換するため、element-id
必要なターゲットにします。
#element_id_chzn .chzn-select { display: none; }
複数の選択の検索フィールドを非表示にするための選択済み設定が機能していないように見えたので、577行目で selected.jquery.js を次のようにハッキングしました。
<li class="search-field"><span class="placeholder">' + this.default_text + '</span></li>
(入力フィールドの代わりにスパン)。この行もコメントアウトする必要がありました
this.search_field[0].disabled = false;
コードをハックするのはベストプラクティスではありませんが、私にとってはうまくいきます。
jQuery('select').chosen( {disable_search: true} ); を使用しました。しかし、chrome プロファイラーでは、とにかく search_field_scale メソッドが呼び出され、パフォーマンスが大幅に低下しました。
したがって、メソッドと彼へのすべての呼び出しを削除し、show_search_field_default で this.search_field.css({'width': '100%'}) に置き換え、style=25px を style:100% に置き換え、this.search_field.css よりも置き換えます({ '幅': '23px' }); 「データプレースホルダー」のため、result_select
私のためにうまく働いています。
私にとってのみ機能する選択された最新バージョンでは:
$('ul.chosen-choices li.search-field').hide();
disable_search:true,