選択した jQuery プラグインを使用しており、すべてを正しく行ったと思いますが、asp.net ドロップダウン リストの幅が小さすぎて結果が表示されません。
まず、ライブラリへの参照を追加しました。
<script type="text/javascript" src="Chosen/chosen.jquery.js"></script>
CSSを含めました:
<link rel="stylesheet" href="Chosen/chosen.css" />
次に、クラスをドロップダウンに適用しました。
<asp:DropDownList class="chosen-select" ID="ddlEmps" runat="server" AutoPostBack="True"
ToolTip="Select the employee."
onselectedindexchanged="ddlEmps_SelectedIndexChanged" >
最後に、ドキュメントの準備ができ.chosen()
ました:
$(document).ready(function() {
$(".chosen-select").chosen();
});
ブラウザの html マークアップは次のとおりです。
マークアップは基本的に次のとおりです。
<select name="ddlEmps" onchange="javascript:setTimeout('__doPostBack(\'ddlEmps\',\'\')', 0)" id="ddlEmps" title="Select the employee." class="chosen-select" style="display: none;">
<option value="2661">Jon</option>
<option value="2987">Joe</option>
<option value="3036">Steve</option>
<option selected="selected" value="68">Mark</option>
</select>
視覚的には次のようになります。
css があるので正しく適用されていると思います。コンソールにブラウザの問題はありません (chrome / ff / ie)。入力を開始することもできますが、結果が小さくなり、結果が表示されないだけですか?
アップデート
私が気付いた唯一のことDropDownList
は、クラスchosen-select
がなく(基本的には単純な古いasp.netドロップダウンリスト)、ドキュメントの準備完了またはウィンドウのオンロードで選択されたものを適用していない場合です...適用.chosen()
するだけの場合コンソール中に正しく表示されます。たとえば、適用しない単純なドロップダウンリストを次に示します.chosen
。
したがって、正しいように見えます...コンソールセクション(google chrome)に移動して、次のことを行うと:
$("#ddlEREmployees").chosen();
これは、コンソールに直接入力するだけで、次のように機能します。
しかしもちろん、コンソールに移動してこれを行うことなく、これを機能させる必要があります...
更新 2
レンダリングされた html を確認したところ、width:0px が生成されていますが、どこから来たのかわかりません:
<div class="chosen-container chosen-container-single" style="width: 0px;" title="Select the employee." id="ddlEtimeEmps_chosen"><a class="chosen-single" tabindex="-1"><span>Jon</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off"></div><ul class="chosen-results"></ul></div></div>
セクションに注意してください
style="width: 0px;"
Google chrome をチェックすると、.css ファイルが参照されません。次のように表示されます。
スタイルと私が見るその下:
element.style {
width: 0px;
}
これはどこから来ているのでしょうか?どうすれば削除できますか?