ぜひチェックしてください-> [〜#〜] fiddle [〜#〜]
ソースを http://silviomoreto.github.io/bootstrap-select/ からダウンロードしましたが、修正できる「.dropdown-toggle」の「open」クラスが切り替えられない理由がわかりません。いくつかの厄介なスクリプトを追加することによってそれを行いますが、私はプラグインが正しく機能することを好みます。
hTML:
<div class="number customdp">
<select class="simple-dropdown" name="number">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
誰かが解決策を持っていますか?
Twitterブートストラップに依存しています。次のように、CSSファイルとJavaScriptファイルを含めます。
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
この更新されたフィドル を参照してください。CSSとJSが含まれており、問題なく動作しているようです。
私も同じ問題を抱えていました。参照を正しく行った後でも、クリックしてもドロップダウンが表示されませんでした。だから私は次のコードを含めて、それはうまくいきました。
$(document).ready(function () {
$(".selectpicker").selectpicker();
$(".bootstrap-select").click(function () {
$(this).addClass("open");
});
});
依存関係の正しい順序は私にとって問題を解決しませんでした。私は DynoMyte's ソリューションを試しました。コードはドロップダウンを開きますが、閉じないでください。そこで、これを修正する行をさらにいくつか追加しました。
$(".selectpicker").selectpicker();
$(".bootstrap-select").click(function () {
$(this).addClass("open");
});
$(document).click(function(){
$(".bootstrap-select").removeClass("open");
});
$(".bootstrap-select").click(function(e){
e.stopPropagation();
});
bootstrap.js
とbootstrapライブラリのdropdown.js
が含まれているため、この問題が発生しました。bootstrap.jsにはすでにdropdown.jsのすべての部分が含まれています。
この状況では、すべてのイベントハンドラーが2回アタッチされているため、クリックするとドロップダウンが2回切り替わります。これにより、開いた直後にドロップダウンが閉じます。
最善の解決策は、body
の下部にすべてのJSファイルを次の順序で含めることでした。