0

次のように、サイトメッシュ デコレータ JSP のヘッダー タグに jquery スクリプトをロードしています。

<head>
<script src="${prefix}/resources/js/jquery/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="${prefix}/resources/js/jquery/jquery-ui-1.8.20.custom.min.js" type="text/javascript"></script>
</head>

今、私は@ http://jqueryui.com/resources/demos/autocomplete/combobox.htmlのようなオートコンプリートコンボボックスを作成しています

タグをクリックすると、次のようなダイアログ ボックスに別の jsp をロードしています。

$.ajax({
url: <some url>,
success: <create my dialog>
});

ダイアログ ボックス内のこの JSP もサイトメッシュによって装飾され、そのタグに同じスクリプトが含まれています。ダイアログは正常に機能しますが、このajax呼び出しの後、私のコンボボックス()が機能しなくなり、コンソールでエラーが発生します:

$().combobox は関数ではありません..

これは私にとって緊急の欠陥です。誰かがこの問題に遭遇したことがありますか? jqueryスクリプトのキャッシュまたはロードに関連していますか?

この問題は、Firefox と IE 9 の両方で再現できます。

4

1 に答える 1

1

ComboBox は、jQueryUI の典型的な機能ではありません。提供したデモンストレーション ページのページ ソースを確認すると、31 行目から始まるスクリプト タグでウィジェットが宣言されていることがわかります。

    <script>
(function( $ ) {
    $.widget( "ui.combobox", { //... et cetera

コンボボックスのデモに表示されるウィジェット定義を JS ファイル内のどこかに含めて、これで問題が解決するかどうかを確認します。

于 2012-12-19T18:11:08.053 に答える