私たちのプロジェクトは jquery 1.3.2 で実行されています。はい、非常に古いバージョンです。とにかく、今はそれをアップグレードするつもりはありません。jquery が選択したプラグイン(ダウンロード リンク - https://github.com/harvesthq/chosen ) を今すぐ使用する必要があります。これには、少なくとも jquery 1.4 が必要です。したがって、次の解決策に従って、両方のバージョンの jquery を同じページにロードしました。
https://stackoverflow.com/a/1566644/351903
しかし、新しいバージョンの jquery で selected を呼び出すことができません。これが私がしたことです-
1.jquery読み込み部分
<script type="text/javascript" src="/js/jquery.js"></script>
<!-- Added for using jQuery chosen plugin -->
<script type="text/javascript" src="/js/jquery-1.4.min.js"></script>
<script type="text/javascript">
var jQuery_1_4 = $.noConflict(true);
</script>
注 -古いバージョンの jquery については次のように記述しませんでし$("something").somefunc()
た。jQuery_1_3_2("something").somefunc()
<script type="text/javascript">
var jQuery_1_3_2 = $.noConflict(true);
</script>
2.そして、プラグイン呼び出し部分で
<link rel="stylesheet" type="text/css" href="/css/chosen.css"/>
<!-- <script type="text/javascript" src="/js/jquery.chosen/chosen.jquery.min.js"></script> -->
<script type="text/javascript" src="/js/jquery.chosen/chosen.jquery.js"></script>
<script type="text/javascript">
jQuery_1_4(document).ready(function()
{
jQuery_1_4("select#user_id").chosen(); //Trying to call chosen on the newer version of jquery
});
</script>
しかし、このエラーが発生していますjQuery_1_4("select#user_id").chosen is not a function
。
しかし、これは正常に動作しています - alert("see"+jQuery_1_4("select#user_id").attr("id"));
。
したがって、問題はプラグインの使用中にのみ発生するようであり、プラグインコード内で微調整を行う必要がある可能性があります。いくつか$
の s をjQuery_1_4
? しかし、それは良く聞こえませんし、何が適切な方法なのかわかりません。