0

jQuery UI オートコンプリートに苦労しており、json 配列から返されたすべてのデータを格納する変数からオートコンプリート値を読み取っています。JavaScript は次のようになります。

function populate_branch(){
     $.get('/branch/list', {bank_name : $("#select_bank_name").val()}, function(branch_data){
        branch_index = branch_data;
     },"json");
};

for( var i = 0; i < branch_index.length; i++ )
  branch_autocomplete += "" + "\'" + branch_index[i].branch_code + "\'" + "},";

$("#branch_auto_complete").autocomplete({
            source: branch_autocomplete
});

オートコンプリートテキストボックスを使用しようとすると、コンソールが非常に奇妙なことをすると、次のように返されます。

//localhost:3000/undefined%7B'label':'301105'%7D,%7B'label':'301205'%7…'label':'639625'%7D,%7B'label':'639845' %7D,%7B'label':'639948'%7D,?term=41 404 (見つかりません)

何か助けはありますか?

4

2 に答える 2

0

これは私がこの仕事をするためにしたことです、

var branch_index;
var branch_autocomplete, branch_name;
var index_branch_code = new Array();
function populate_branch(){
     $.get('/branch/list', {bank_name : $("#select_bank_name").val()}, function(branch_data){
        branch_index = branch_data;
        for( var i = 0; i <  branch_index.length; i ++ )
        {
            index_branch_code[i] = branch_index[i].branch_name + " ("  + branch_index[i].branch_code + ")";
        }
     },"json");
};

$("#branch_auto_complete").autocomplete({
      minLength: 0,
      source: branch_code,
});

すべてのデータを配列にプッシュし、index_branch_code に等しい新しい変数を作成して、変数が動的ではなくフラット ファイルとしてブラウザーに表示されるようにする必要がありました。

于 2013-04-25T12:46:04.090 に答える
0

このように試すことができます。

$.ajax({
     url: '/branch/list',
     type: "GET",
     data: {bank_name : $("#select_bank_name").val()} ,
     dataType: "json",
     async: false,
     success: function(dataType) { 

          for( var i = 0; i <  branch_index.length; i ++ ){
              index_branch_code[i] = branch_index[i].branch_name + " ("+ branch_index[i].branch_code + ")";
          }

         $("#branch_auto_complete").autocomplete({
              minLength: 0,
              source: branch_code,
         });
     }
}); 
于 2013-04-25T11:36:19.940 に答える