2

안녕하세요, 지정된 데이터 배열 내에서만 자동 완성을 허용하는 내 코드에서 도움을 찾고 있습니다. 따라서 자동 완성 배열 내의 데이터 만 입력 할 수 있습니다. 예를 들어 사용자가 iran01을 입력 한 경우 iran01이 유효하지 않으므로 사용자는 01을 입력 할 수 없습니다. 예를 들어 사용자가 iran 다음에 NNN을 입력하면 iranNNN이 표시되며 이는 유효하지 않습니다. 그런 다음 유효한 항목 인 텍스트 상자에 iran shud 만 있습니다. 아무도 이것을하는 방법을 말할 수있다.jquery에서 텍스트 필드 잠금 자동 완성 - 자동 완성 옵션 내에서만 제출 허용

이 동작을하는 방법을 알려줄 수 있습니다.

$(document).ready(function() { 
        data = ["iran", "iraq", "Libya", "india"]; 
        $("#autocomplete").autocomplete(data) 
       }); 

       $('input#autocomplete').bind('keypress keyup', function(){ 

       if ($.inArray($(this).val(), data) == -1){ 
        $(this).val(''); 
        $("#result").html("No match found!" + $(this).val()); 
       } 

      }); 

      $('input#autocomplete').result(function (event, data, formatted) { 
       $("#result").html(!data ? "No match found!" : "Selected: " + formatted); 

      }).keyup(function() { 
       $(this).search(); 

      }); 

     } 
    }); 

답변

1

입력 상자의 변경 이벤트에 리스너를 넣고 요소가 선택되어 있는지 확인할 수 있습니다. 이 질문에 대한 내 대답을 체크 아웃 :

jquery autocomplete field that REQUIRES a selected value?

http://jsfiddle.net/vZeHr/4/

+0

그래 내가 통해 UR 대답을 확인하지만 문제는 내가 예를 America999에 대한 사용자 유형은 다음이 NT하는 경우는 내가 원하는 빈 텍스트 상자를하고 싶은 해달라고입니다 미국 다음에 999를 입력 할 수 있습니다. America999는 목록에 없습니다. soo는 사용자가 999를 쓸 수 없다는 등의 동작을 잠그고 싶습니다. 그리고 유효한 항목 만 텍스트 상자에 보관합니다. 내 질문이었습니다. – meer