0

WebUserControl には入力要素があり、Jquery Autocomplete を使用して値のリストを表示したいと考えています。まったく機能していません。

これは、リストを作成するためのスクリプトです。

$(document).ready(function() {    
    var availableTags = [
            "ActionScript",
            "AppleScript",
            "Other one"
            ];
    $("#listaCecos").autocomplete({
        source: availableTags
    });
});

ブレークポイントを確立したところ、次のことがわかりました。

  • .autocomplete 行が実行さ$("#listaCecos")れると、初期化されていないようです。コンソールでは、次のように表示されます。[]
  • ページが完全にロードされた後、$("#listaCecos")要素を正しく表示します[<input id=​"listaCecos" name=​"listaCecos">​]
  • ページが読み込まれたら、コンソールで .automcomplete コード (上記のコード ブロック) を実行すると、入力が正常に機能するようになります。

したがって、.autocomplete スクリプトが実行されたときに入力要素が正しく読み込まれていないため、機能していないと思います (webusrcontrol 内にあり、最初のページ読み込みの時点では見えません)。

入力が適切に取り込まれるように、オートコンプリート セットアップ スクリプトをいつ、どこに置くべきかを特定するのを手伝ってください。

4

1 に答える 1

3

私はそれを解決することができました。入力は UpdatePanel 内にあり、その内容を置き換えるため、オートコンプリート構成は失われます。

解決策は、各 end_Request でオートコンプリート機能を再構成することでした。

$(document).ready(function() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

    function EndRequestHandler(sender, args) {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "ceshar"
            ];
        $(".listaCecos").autocomplete({
            source: availableTags
        });
    } 
});
于 2012-07-13T16:47:53.537 に答える