2012-11-26 2 views
1

jquery-ui-autocomplete 플러그인을 사용하고 있지만 자동 완성 대신 자동로드 느낌을주기 위해 약간 조정했습니다. 입력란의 드롭 다운보기 대신 div 입력란에 결과가 표시됩니다.사용자가 jQuery 자동 완성에서 입력 필드를 지울 때 기본 데이터를 표시하는 방법

입력란을 클릭 할 때 div의 기본 데이터가 변경되지 않도록 minlength를 1로 설정했습니다.

하지만 사용자가 무언가를 입력하고 결과가 div에 표시되면 사용자가 입력 필드를 지우면 마지막 검색 결과가 계속 표시됩니다. 페이지로드시 표시되는 기본 데이터를 여기에 표시하고 싶습니다. 어떻게해야합니까?

코드는 :

$("#search-help").autocomplete({ 
    source: function (request, response) { 
     var term = $.ui.autocomplete.escapeRegex(request.term) 
     , containsMatcherTitle = new RegExp(term, "i") 
     , containsTitle = $.grep(data, function(value) { 
      return containsMatcherTitle.test(value.value); 
     }); 

     response((containsTitle.slice(0, 5)); 
    }, 
    focus: function(event, ui) { 

     return false; 
    }, 
    minLength: 3, 
    select: function(event, ui) { 

      return false; 
    }, 
    search: function(event, ui) { 
     $("#MY_DIV ul").empty(); 
    } 
}).data("autocomplete")._renderItem = function(ul, item) { 

    return $("<li></li>") 
     .data("item.autocomplete", item) 
     .append("<a>" + item.value + "</a><span>" + item.desc + "</span>") 
    .appendTo($('#MY_DIV ul')); 
}; 

답변

0

당신이 사업부에서 원하는 형식 명확하지 않다,하지만 당신은 다음과 같은 이벤트 만들 수 있습니다

$("#search-help").keyup(function() { 
     if (!this.value) { 
       $('#MY_DIV').val("Default text"); 
     } 
}); 
+0

감사 Mccannf 완벽했다. 얼마나 어리석은 짓을 생각하지 않으려 고, 나는 그 안에서만 해결책을 찾고있는 자동 완성에 너무 열중했다! – Jack

관련 문제