0

JqueryUIを使用して検索オートコンプリートを構築しています。入力だけの最小限のドキュメントで検索を作成すると、すべてが完全に正常に機能しました。例えば:

<input id="autocomplete" />

とJquery

<script>

    $( "input#autocomplete" ).autocomplete({
            source: ['johannesburg z', 'johannesburg x', 'johannesburg v','johannesburg b','johannesburg a','johannesburg q', 'johannesburg u', 'johannesburg y', 'johannesburg o', 'johannesburg p']
    });
</script>

ただし、コードをSitefinity 3.7ページに配置すると、「$( "input#autocomplete")。autocomplete」は関数ではないというエラーが表示されます。

このエラーは、sitefinityで一度だけ発生します

Ivが試したこと

  1. オートコンプリートウィジェットで最新のJqueryUIライブラリを使用しています。
  2. Ivは私のファイルパスが正しいことを確認しました。(彼らです)。
  3. 使用済みアラートなど alert("$('input#autocomplete').autocomplete")
    • 彼らは未定義を返し続けます。

どんな助けでも大歓迎です!

4

1 に答える 1

1

Sitefinity自体はjqueryを採用しており、おそらく同じ省略形のクラス名($、Jquery)を持つ基本クラス/メソッドの多くをオーバーライドしています。

その結果、sitefinityページの要素/コントロールが挿入される前にJavaScriptをページに配置することはできません。私はこれと同じ問題を抱えていました。私はすべてのJavaScriptをsitefinity要素の後でページの下部に移動し、すべてが再び正常に機能しました。

この場合に実際に起こっていることは、

  1. sitefinityは独自のjqueryを挿入し、次に
  2. jquery.min.jsファイルへのリンクがsitefinityを上書きします。

したがって、これを行うと、sitefinityのjqueryベースの機能の一部が実際に機能しなくなる可能性がありますが、過去2か月間は問題はありませんでした。

jQueryのsitefinity組み込みバージョンを使用することもできます(これは、この手法ではあまり運がなかったものの、以下のフォーラムリンクでTelerikが推奨しているものです)。

<%@ Register Assembly = "Telerik.Sitefinity" Namespace = "Telerik.Sitefinity.Web.UI" TagPrefix = "sf"%>

これとまったく同じ問題に関する最近のSitefinityフォーラム投稿へのリンクは次のとおりです 。http ://www.sitefinity.com/devnet/forums/sitefinity-4-x/general-discussions/jquery-popup-not-working-in-telerik -webapplication.aspx

幸運を!

于 2011-03-30T14:52:11.437 に答える