2013-04-25 62 views
0

我正在努力與jQuery UI自動完成並從存儲從json數組返回的所有數據的變量中讀取自動完成值。這是JavaScript的樣子:jQuery自動完成和本地提取的json數據

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 
}); 

什麼,當我嘗試使用自動完成的文本框我的控制檯做一些非常奇怪的情況發生,它返回:

//本地主機:3000 /未定義% 7B'label ':' 301105 '%7D,%7B'label': '301205' %7 ... '標籤': '639625' %7D,%7B'label ':' 639845 '%7D,%7B'label' :'639948'%7D,?term = 41 404(未找到)

任何幫助?

回答

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從而使瀏覽器看到該變量作爲一個平面文件而不是動態的。

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, 
     }); 
    } 
}); 
+0

/分支/列表是從我的數據庫生成的JSON數組。那只是數據的路徑。它看起來像http:// localhost:3000/branch/list.js – 2013-04-25 11:40:11

+0

這並不能提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你可以隨時評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/faq#reputation),你將能夠[評論任何帖子](http://stackoverflow.com/privileges/comment)。 – interjay 2013-04-25 11:57:15

+0

@interjay我的意圖不是批評。我不知道如何評論他的問題,因爲「評論」按鈕沒有出現。我想我只需要使用編輯按鈕。我爲我的誤會道歉 – 2013-04-25 12:05:47