5

질문에 모두 나와 있습니다. 내 jquery 자동 완성은 내 자신의 api 중 하나에서 소스를 가져옵니다. 일치하는 항목을 찾을 수 없으면 "일치하는 항목을 찾을 수 없습니다."라는 메시지가 반환되고 드롭 다운에 표시됩니다. 사용자가 이에 집중하면 상자의 텍스트가 "일치하는 항목이 없습니다"로 바뀝니다. 내가하고 싶은 것은 드롭 다운에 "일치하는 항목이 없습니다"라고 표시하지만 초점을 맞추거나 선택할 수 없도록 설정하는 것입니다. 찾을 수 없습니다 일치 선택하지 않으면 아무것도하지 않는 기능 : 당신이 볼 수 있듯이 다른 루프 선택에서 "찾을 수 없습니다 일치"를 확인하는 경우Jquery 자동 완성, 일치하는 항목이없는 경우 드롭 다운에서 "일치하는 항목이 없습니다"라는 메시지가 표시되지만 초점을 맞추지 못합니다.

$(document).ready(function() { 
    $("input#id_address").autocomplete({ 
     delay: 300, 
     minLength: 3, 
     source: function(request, response) { 
      $.getJSON("/pin/cache/", {q:encodeURI(request.term)}, function(results) { 
       res = results.results; 
       response($.map(res, function(item) { 
        return { 
         label: item.address, 
         value: item.address, 
         lat: parseFloat(item.lat), 
         lng: parseFloat(item.lng) 
        } 
       })); 
      }); 
     }, 
     select: function(event, ui) { 
      if (ui.item.value == 'no matches found') { 
       return; 
      } 
      else { 
       $("#id_address").val(ui.item.value); 
       var pos = new google.maps.LatLng(ui.item.lat, ui.item.lng); 
       map.setCenter(pos); 
       map.setZoom(14); 
       placeMarker(pos); 
      } 
     }, 
    }); 
}); 

것은, 내가 사용하고 있습니다 : 이것은 내 지금과 같은 코드입니다. 그러나 여전히 초점에 "일치하는 항목이 없습니다"라는 텍스트가 채워집니다. 일치하는 항목이있을 때 포커스가있는 텍스트를 채우는 기본 기능을 원하지만 일치하는 항목이없는 경우 드롭 다운은 초점을 잃을 수 있어야합니다. 어떤 제안?

답변

2

가능한 한 가지 해결책은 '일치하는 항목 없음'텍스트를 확인하고 즉시 일치하는 경우 이벤트를 선택기 focus() 처리기에 배치하는 것입니다.

$("input#ip_address").focus(function(){ 
    if($(this).text()=="no matches found") { 
     $(this).blur(); 
    } 
}); 
+0

감사합니다. 완벽하게 작동했습니다. – tapan

0

당신은 "일치"를 선택 해제하거나 "일치"를 선택할 수 없습니다 사업부 시뮬레이션 droplist을 사용하기 위해 자바 스크립트 이벤트를 사용 할 수 있습니다.

관련 문제