2010-05-19 8 views
2

메신저 JQuerys 자동 완성 플러그인을 사용하지만 아무것도 입력 할 때 자동 완성되지 않습니다.JQuery 자동 완성 문제

왜 그것이 작동하지 않는가? 기본 예제는 작동하지만 내 것은 작동하지 않습니다.

var ppl = {"ppl":[{"name":"peterpeter", "work":"student"}, 
    {"name":"piotr","work":"student"}]}; 

var options = { 
    matchContains: true, // So we can search inside string too 
    minChars: 2,  // this sets autocomplete to begin from X characters 
    dataType: 'json', 
    parse: function(data) { 
     var parsed = []; 
     data = data.ppl; 
     for (var i = 0; i < data.length; i++) { 
      parsed[parsed.length] = { 
       data: data[i], // the entire JSON entry 
       value: data[i].name, // the default display value 
       result: data[i].name // to populate the input element 
      }; 
     } 
     return parsed; 
    }, 
    // To format the data returned by the autocompleter for display 
    formatItem: function(item) { 
     return item.name; 
    } 
}; 

$('#inputplace').autocomplete(ppl, options); 

확인. 업데이트 됨 :

<input type="text" id="inputplace" /> 

따라서 입력 필드에 "peter"를 입력 할 때. 자동 완성 제안이 표시되지 않습니다. 그것은 "피터 페테르 (peterpeter)"를 주어야하지만 아무 일도 일어나지 않습니다.

그리고 한 가지 더. 이 예제를 사용하면 완벽하게 작동합니다.

var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities".split(" "); 
$("#inputplace").autocomplete(data); 
+2

'var ppljson = eval (ppl); 'ppl'은 이미 유효한 JS 객체입니다. 'ppl'이 문자열 (''{...} '')이고 _needed_가''eval()''인 경우에는 의미가 있었을 것입니다. – jensgram

+0

예, 사실입니다. 제거 된 평가판,하지만 여전히 작동하지 않습니다. 어떤 생각? :) – heffaklump

+0

글쎄, 정확히 ** "작동하지 않는다"는 뜻인가요? 오류? 브라우저 충돌? 텍스트가 거꾸로 나오는 이유는 무엇입니까? 우리를 여기 돕지 않을거야. – Pointy

답변

3

은 음, 플러그인의 코드를 찾고 "분석"옵션은 데이터가 AJAX 호출에 의해 검색 할 때 그것은 단지 불리는 것 같습니다. 실험을 위해 데이터가 필요하지 않도록 전달할 수 있습니다.

var ppl = [{"name":"peterpeter", "work":"student"}, 
{"name":"piotr","work":"student"}]; 
+0

우우, 왜 그런가요? 예, ppl 버전으로 시도하고 구문 분석 함수를 제거하고 이제 작동합니다! : DD 예! 정말 고맙습니다! – heffaklump

+0

OK, 좋습니다. 물론 Ajax 콜백을 사용하면 "구문 분석"처리기를 복원 할 수 있습니다. (테스트에서 도움이된다면 Ajax를 사용하지 않을 때 옵션의 일부로 사용하는 것이 아프다고 생각하지 않습니다.) – Pointy