4

jQuery 자동 완성에 문제가 있습니다.jQuery 자동 완성 사용자 정의 _renderItem 문제

  • 실제 일치 검색 문자열과
  • 제안 (맞춤법 수정, 관련 키워드 등)

백엔드가 모든 작업을 수행 : 나는 쇼에 항목의 두 종류를 정의하고 그것에; 자동 완성은 단지 두 개의 목록을 제공합니다.

설명 할 수있는 사진을 더 나은 :

http://shot.ninjaloot.se/20120412.141112.png (데이터는 개발하는 동안 데이터를 사용하는 단지 더미, 그리고 스타일이 아직 완료되지 않음) (그렇지 않으면 클릭하거나)

렌더링 작업 동안

, 선택 내가 알고있는 것처럼

TypeError: 'undefined' is not an object (evaluating 'ui.item.data') 

의 menu.selected 함수는 ui 인수,536,913 주어진 경우 : 항목은 디버그 어려운 예외가 발생합니다 정의되지 않은 item 키가있는

왜 이런 일이 발생하며 어떻게해야합니까? 내 맞춤 렌더러 을 주석 처리하면 선택 항목이 작동합니다.

이것은 내 사용자 정의 렌더러 기능입니다. UI 소스 파일 에있는 것과 그대로 축하하고 내 사용자 정의 haxing을 확장했습니다.

$input.data("autocomplete")._renderItem = function(ul, item) { 
    var cls = 'ui-menu-item'; 

    if(item.label === null) { 
     cls += ' center disabled'; 
     item.label = '-- perhaps thou meaneth --'; 
    } 

    return $("<li></li>") 
    .data("item.autocomplete", item) 
    .append("<a class='ui-corner-all'>" + item.label + "</a>") 
    .addClass(cls) 
    .appendTo(ul); 
}; 

더 많은 코드가 필요한 경우 제공해 드리겠습니다.

+0

작동 코드가있는 블록을 표시 할 수 있습니까? 우리에게는 같은 문제가 있습니다. – chrisvillanueva

+0

하단 예제와 동일하지만 두 번째 행은 "var cls = '';"입니다. ui-menu-item로 정의하는 대신에. –

+1

질문을 편집하는 대신 솔루션을 실제 답변으로 게시해야합니다. – lifo

답변

1

셀프 어스 워! 나는 이것을 스스로 해결할 수 있었다. Appearantly "ui-menu-item"클래스를 수동으로 추가하면 메뉴 항목이 완료된 것으로 간주되어 후 처리가 수행되지 않고 후 처리가 기능에 중요합니다. 클래스를 수동으로 추가하지 않으면 작동합니다.

관련 문제