2013-08-01 83 views
1
var first = true; 
var json = '['; 
if (!first) { 
    json += ','; 
} else { 
    first = false; 
} 
// $.each(data, function(i, elem) { 
json += '{label:"kasun"}'; 


json += ']'; 
console.log(json); 
$("#p_name").autocomplete({ 
    minLength: 2, 
    source: x, 
    focus: function (event, ui) { 
     $("#p_name").val(ui.item.label); 
     return false; 
    }, 
    select: function (event, ui) { 
     return false; 
    } 
}) 

我試着上面的代碼來填充自動完成與data.when我試試這個我得到以下錯誤。 如果u有替代請讓我知道無法填充數據的自動完成

GET http://localhost/NEW/patient_channel/[%7Blabel:%22kasun%22%7D]?term=ka 404 (Not Found) 
+0

您是否期望自動填充框架嘗試從您的服務器獲取潛在的自動填充結果列表,或者是否出現了這種意外行爲? – PaulProgrammer

回答

3

來源應該是一個數組,而不是字符串

你需要

var json = []; 

// $.each(data, function(i, elem) { 
json.push({label:"kasun", value:"kasun"}) 
//or json.push('kasun') 

//}); 

console.log(json); 

jQuery(function ($) { 
    $("#p_name").autocomplete({ 
     minLength: 2, 
     source: json, 
     focus: function (event, ui) { 
      $("#p_name").val(ui.item.label); 
      return false; 
     }, 
     select: function (event, ui) { 
      return false; 
     } 
    }) 
}); 

演示:FiddleFiddle

1

你的源x在代碼的其他地方是不可見的,我相信它是一個URL,並且由於它是通過tou指出的404,意味着資源不會服務器上不存在。

首先修復404,之後您必須按照以下格式按自動完成所期望的格式格式化服務器返回的數據。

[{'label' : dataValue, 'value' : dataValue}] 
相關問題