2013-06-04 137 views
0

我有jQuery用戶界面自動完成代碼如下:jQuery用戶界面自動完成未完全填滿數據

$("#keyword").autocomplete({ 
       source: function(request, response) { 
        $.ajax({ 
         url: "<?php echo base_url(); ?>index.php/formhandler/autocomplete", 
         data: {term: request.term, data: $("#city").val()}, 
         dataType: "json", 
         success: function(data) { 
          response($.map(response, function(item) { 
           return { 
            label: item, 
            value: item 
           } 
          })); 
         } 
        }) 
       } 
      }); 

和我有響應爲JSON如下:

["result1"]["reusult2"]["result3"]["result4"]["result4"] 

我怎樣才能自動完成的關鍵字字段使用這個?

+2

響應應該是這樣的[「RESULT1」,「reusult2」,「result3」,「result4」] – user568109

+0

我知道了一個單一的陣列,我被髮送JSON響應沒有使它數組:的foreach( $ query-> result()as $ row){ $ details [] = $ row-> Keywords; }我沒有給出$的細節[] – Crazyrubixfan

回答

0

爲什麼使用$ .ajax。您可以從$ .get中獲取數據作爲源。

$("#keyword").autocomplete({ 
       source : function (request, response) { 
       $.get("<?php echo base_url(); ?>index.php/formhandler/autocomplete", {term: request.term, data: $("#city").val()}, function (data) { 
       response(data); 
      }); 
     } 
     }); 
+0

讓我試試這個,謝謝 – Crazyrubixfan

0

你需要這些陣列組合>使用:

$.merge 

您可能需要使用一個循環。一個例子可以是這樣:

var first = ['a','b','c']; 
var second = ['d','e','f']; 
$.merge($.merge([],first), second); 

輸出,會:

["a","b","c","d","e","f"] 
+0

好吧。讓我試試這個 – Crazyrubixfan

1

你似乎沒有被使用AJAX成功函數的參數數據。打開JavaScript控制檯(chrome中的F12)並檢查是否有任何錯誤。

$("#keyword").autocomplete({ 
    source: function(request, response) { 
    $.ajax({ 
     url: "<?php echo base_url(); ?>index.php/formhandler/autocomplete", 
     data: {term: request.term, data: $("#city").val()}, 
     dataType: "json", 
     success: function(data) { 
     //check what data contains. it should contain a string like "['val1','val2','val3','val4']" 
     //the next line should use $.map(data and not $.map(response 
     response($.map(response, function(item) { 
     return { 
      label: item, 
      value: item 
     } 
    })); 
} 
}) 
} 
}); 
+0

數據如下:[「result1」] [「reusult2」] [「result3」] [「result4」] [「result4」] – Crazyrubixfan

+0

應該是[「result1」,「reusult2」 「result3」,「result4」,「result4」] – Arun

+0

是的,我必須使[[result1]] [「reusult2」] [「result3」] [「result4」] [ ,「reusult2」,「result3」,「result4」,「result4」]通過jquery我想,你有什麼想法 – Crazyrubixfan

相關問題