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

你可以试试这个方法。

$.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 回答
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 回答