2013-06-06 3 views
0

소스로 PHP 파일을 호출하면 자동 완성되지 않지만 배열을 사용하면 작동합니다.jQuery 자동 완성이 json에서 작동하지 않습니다

PHP

$query = mysql_query($req); 

while($row = mysql_fetch_assoc($query)) 
    { 
     $results[] = array('login' => $row['login']); 
    } 

echo json_encode($results); 

//[{"login":"lleal"},{"login":"mmoura"},{"login":"vmatos"},{"login":"csamante"}] 

HTML은

$("#logine").autocomplete(
{ 
    source: 'loginsearch.php', 
}) 

나는이 같은 배열로 JSON 변환하면 작동 :

var lista = []; 
    $.ajax({ 
     type: "GET", 
     dataType: "json", 
     url: "loginsearch.php", 
     success: function (data) { 
      $.each(data, function (index, data) { 
       lista.push(data.login); 
      }); 
     } 
    }); 


$("#logine").autocomplete(
{ 
    source: lista, 
}) 

난 그냥 내 머리를 치는 하루 종일 보냈다 이것, 어떤 아이디어라도?

+0

echo 문에서 데이터를 반환합니까? – stackErr

+0

아, JS에있는 쉼표가'source : 'loginsearch.php','... 다음 코드가 더 이상 없으면 – stackErr

+1

이것은 http://stackoverflow.com/questions/4234455/jquery- json-data와 함께 자동 완성 - 작동하지 않습니까? rq = 1 거기서 답을 찾으십시오. 정확히 같은, 비록 당신이 출력을 변경해야 할 수도 있습니다'//[{ "id": "1,"value ":"lleal "}' – marlenunez

답변

2

JSON에 자동 완성 기능을 사용하려면 'label'및 'value'변수가 있어야합니다.

while($row = mysql_fetch_assoc($query)) 
    { 
     $results[] = array('label' => $row['login'], 'value' => $row['login']); 
    } 

을 시도하거나 당신이 가치와 레이블로 표시 할 뭐든간에.

관련 문제