2014-01-10 60 views
0

我有以下代碼以實施自動完成用於表單字段需要JQuery的自動填充不工作值吼聲檢索

$("#manager").change(function() {    
    var rows; 
    var manager = $(this).val(); 
    var grouplist = $.post("<?php echo base_url();?>groups/getgrouplist/?"+"manager_name="+manager); 
    $("#groups").autocomplete({ source: grouplist });    
}); 

這是交響應。

[{"personnel_name":"nab_group_1_1"},{"personnel_name":"nab_group_1_2"},{"personnel_name":"nab_group_2_1"}] 

明顯地它的獲取所需的值並正在工作。 但autoocmplete不顯示任何值。 我已經在組列表上發出警報,並顯示對象對象。 有人可以請建議我如何解決這個問題,這裏有什麼錯。 在此先感謝。

回答

0

嘗試這樣的事情

$.post("<?php echo base_url();?>groups/getgrouplist/?"+"manager_name="+manager,function(response){ 
    var grouplist = jQuery.parseJSON(response); 
    $("#groups").autocomplete({ source: grouplist }); 
}); 

您autcomplete應該是這樣的

編輯的代碼

$.post("<?php echo base_url();?>groups/getgrouplist/?"+"manager_name="+manager,function(response){ 
     var grouplist = jQuery.parseJSON(response); 
     var new_data_source = $.map(grouplist, function(item) { 
      return { 
        label: item.nab_group_1_1, 
        value: item.personnel_name 
      } 
     }); 
     $("#groups").autocomplete({ source: new_data_source }); 
    }); 

JSON應該像[{"id":"your_id","label":"your_label"}]

,而你的JSON是不同的小號o您必須成功創建json

+0

不,這是行不通的, 我也沒有收到螢火蟲的錯誤訊息。 但自動完成不會產生任何建議。 – user1420967

0

檢查autocomplete消耗的東西。我認爲你的對象被投射成一個字符串,因此Object Object。如果您將JSON傳遞給自動完成,請確保您的後端將JSON作爲響應。

+0

你好,我同意。 – user1420967

+0

其實我在這autocomplete.I凸輪使用codeigniter和第一次自動完成工作以及第二次自動完成我必須通過選擇從第一次自動完成和基於生成第二次自動完成JSON這是我在哪裏未能正確地操縱它。 也許我不完全知道jquery autocomplete的工作。我可以設法返回正確的json格式的響應,如我在第一篇文章中提到的。 所以基本上我正在尋找的是一種基於第一次自動完成中的選擇來實現第二次自動完成的方式。 – user1420967

+0

你可以請你發佈一些代碼,你如何實現這一點:**傳遞選擇從第一次自動完成和基於生成一個JSON的第二次自動完成** – gabeno