2012-01-18 3 views
0

テキストボックスにオートコンプリートを実行しようとしていますが、機能しません。私のコードに従ってください。テキストボックスのオートコンプリートにはどうすればできますか?

$(function() { 

    var credenciada = '<%= credenciadaId %>'; 

    xml_NomeCompleto = ""; 
    var Nomes = ""; 
    var retorno = ''; 
    var count = 0; 
    var t = ''; 
    $.ajax({ 
     url: "../Xml/AcessoExterno.aspx?Credenciada=" + credenciada, 
     type: "get", 
     dataType: 'xml', 
     async: false, 
     success: function (data) { 

      $(data).find("REGISTRO").each(function() { 
       t = $(this).find("NOMECOMPLETOUSUARIO").text(); 
       Nomes += ["\"" + t + "\","]; 
      }); 
     } 
    }); 
    $("#ctl00_contentConteudo_txtNome").autocomplete({ source: Nomes }); 
}); 

変数 't'は通常、ユーザーのすべての名前を受け取りますが、オートコンプリートは機能しません。

+0

あなたはJavaScriptデバッガを介してこれを実行した試してみてください? –

+0

はい、私は 'デバッガ;を置くすべて正常に動作しますが、テキストボックスにオートコンプリートが残っています –

答えて

2

ajax応答が完了するまで待ってから、autocompleteを初期化する前に、プラグインデータを初期化することができないためです。また、Nomes(ソース)を作成する方法も間違っています。それを配列として宣言し、pushメソッドを使用してそれを設定します。

この

var Nomes = []; 
    $.ajax({ 
     url: "../Xml/AcessoExterno.aspx?Credenciada=" + credenciada, 
     type: "get", 
     dataType: 'xml', 
     async: false, 
     success: function (data) { 
      $(data).find("REGISTRO").each(function() { 
       Nomes.push($(this).find("NOMECOMPLETOUSUARIO").text()); 
      }); 
      $("#ctl00_contentConteudo_txtNome").autocomplete({ source: Nomes }); 
     } 
    }); 
+0

まあ、私はこのようにしていますが、遅すぎるため結果が見えません...ちょうどロード中... –

+0

WORKS FINE!どうもありがとう! –

関連する問題