次のリンクに表示される例を使用しようとしています: http://www.mysticcoders.com/blog/autocomplete-with-an-object/
問題は何も起こらないことです...テキストフィールドに何かを入力し始めても何も起こりません。デバッグしたところ、ビルダーとレンダラーが起動していないようです。
なぜ何も起こらないのか誰か教えてください。
私は Wicket 6.2.0 バージョンを使用しています。
次のリンクに表示される例を使用しようとしています: http://www.mysticcoders.com/blog/autocomplete-with-an-object/
問題は何も起こらないことです...テキストフィールドに何かを入力し始めても何も起こりません。デバッグしたところ、ビルダーとレンダラーが起動していないようです。
なぜ何も起こらないのか誰か教えてください。
私は Wicket 6.2.0 バージョンを使用しています。
バージョン 6.0 以降の Wicket には、独自のバージョンの jQuery がバンドルされています (Wicket 6.5.0 では jQuery v1.8.3)。
独自の jQuery を読み込まないようにしてください。
以前は、Wicket 1.5.9 を使用しながら、(RequireJS を使用して) 独自の jQuery をロードしていました。そして突然、Wicket 6.5.0 (実際には Pax Wicket 2.1.0) にアップグレードした後、AutoComplete (とりわけ) が機能しなくなりました。
私の解決策は、バンドルされている jQuery を使用し、独自の jQuery を読み込まないようにすることでした。
RequireJS を使用して jQuery をロードする場合は、次のように jQuery モジュールをダミー モジュールに「置き換え」ます。
define([], function() {
return jQuery;
});
そのため、RequireJS を使用して jQuery をロードする他のモジュールは引き続き機能します。
自動補完、複数選択などの非常に優れた機能を提供する Igor Vaynberg のWicket-Select2プロジェクトを調査する必要があります。特に、Gmail の新しいメールに受信者を追加するなどのことについて言及したように、この例に基づいたものを使用することを検討する必要があります。
@Rudi Wijavaが言ったように、jQueryのバージョンの問題である可能性があります。
私のプロジェクトでも同じ問題がありますが、Wicket が提供する以上のスキンが必要な jQuery couse スキンのバンドル バージョンを使用できません。しかし、それは簡単な解決策です。アプリケーション設定では、次のように jQuery 参照を独自に設定できます。
jQueryLibrarySettings.setJQueryReference(new UrlResourceReference(Url.parse(contextPath
+ "/static/js/libs/jquery-2.0.2.min.js")));
WebApplication クラス http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/protocol/http/WebApplication.htmlを拡張するクラスでこれを行うことができます
コードを提供できますか?
AutoCompleteTextFieldを使用しましたか? この場合、オートコンプリート リストを定義する CSS クラスをスタイルシートに追加する必要があります。
このクラスをテストするには、DefaultCssAutoCompleteTextFieldを選択します。これはすぐに使用できます。getChoices メソッドを実装するだけです。