0

私はprototype.jsとjQueryを含める必要がありますが、競合しているため、私のbootstrap-select.jsが台無しになっているようです。

選択リストでオプションを選択すると、そのオプションが消えます。

これらのjsファイルを含めました:

jquery-2.1.0.min.js
bootstrap-select.min.js
prototype.min.js

そして、これは<head>セクションにあります:

var $j = jQuery.noConflict();

$j(document).ready(function($) {
    $j('.selectpicker').selectpicker();
});

そしてHTML:

<select class="selectpicker">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
</select>

ここでフィドルを参照してください:http://jsfiddle.net/0vh03tnn/1/

4

1 に答える 1

0

物事の順序を逆にしてみてください。最初に Prototype、次に jQuery、次に jQuery.noConflict() を含むブロック、最後にブートストラップ スクリプトを含めます。私が noConflict を理解する方法は次のとおりです。 $ がバインドされているものは何でも、それをメモ化し、そのオブジェクト内に jQuery オブジェクトと新しい束縛されていない $ を作成し、最後に $ を最初からグローバルスコープに戻します。ここにある順序では、noConflict が機能する時点で $ が Prototype の $ 関数を指していない可能性があります。

于 2015-03-28T16:32:33.553 に答える