2017-09-23 1 views
0

jquery를 사용하여 텍스트 입력란에 사용자 입력을 캡처 한 다음 가능한 옵션 드롭 다운을 표시합니다.Jquery 자동 완성 결과는 단어가 아닌 개별 문자로 표시됩니다.

스크립트는 ajax 요청을 검색하여 결과를 반환하는 PHP 페이지를 호출합니다. 그들이

["Site 4,"Site 2","Site 1","Site 6","Site 7","Site 0"] 

처럼 하나의 값은 다음과 같이 내가 하나에 따라 (아래로 내 드롭의 내용물을

["Site 4"] 

처럼 나타납니다 표시 PHP에 의해 반환 된 여러 값이있는

엔트리)

[ 
LINE 
" 
S 
i 
t 
e 
LINE 
4 
" 
] 

여기서, 라인은 Site & 4 및 따옴표 및 대괄호가 표시됩니다.

내 JQuery와는 다음과 같습니다

$('#site').autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url : 'siteCheck.php?name=' + request.term, 
      success: function(data) { 
       console.log (data) 
       response($.map(data, function(item) { 
        return { 
         label: item, 
         value: item, 
         data : item 
        } 
       })); 
      } 
     }); 
    }, 
    autoFocus: true,    
    minLength: 1, 
     select: function(event, ui) { 
      $('#site').val(ui); 
     }    
    }); 

나는이

Site 4 
Site 2 
Site 1 
Site 6 
Site 7 
Site 0 

이 아닌 개별 문자로 드롭 다운 목록을 반환받을 수 있나요 방법!

감사

모든

답변

1

첫째 : 그것은 당신의 JSON 배열의 첫 번째 요소에 대한 폐쇄 "이 없다는 것을, 오타인가?

둘째 : autocomplete에 대한 문서에 따르면 source은 이미 가지고있는 것처럼 간단한 배열로 배열을 전달하기에 충분합니다. 라벨/값이있는 항목으로 변환 할 필요가 없습니다. remote datasource의 예에서

, 그들은 단지 그래서 그냥 사용할 수

source: 'remoteScript.php'를 추가

$('#site').autocomplete({ 
    source: 'siteCheck.php?name=' + request.term, 
    autoFocus: true, 
    minLength: 1, 
    select: function(event, ui) { 
     $('#site').val(ui); 
    } 
}); 

편집 : GET 파라미터로 term을 허용 할 서버 측 스크립트를 수정하는

시도, 검색어가 자동 완성으로 자동 삭제되므로 URL이 부분을 삭제할 수 있습니다.

source: 'siteCheck.php', //should accept term as parameter 
+0

답장을 보내 주셔서 감사합니다. 그렇습니다. 오타되었습니다. 나는 이것을 시도하고 내가 어떻게 일어나는지 알려 줄 것이다. – Tom

+0

완벽 하 게 내가 정확히 감사 할 필요가 무엇 :) – Tom