2012-07-04 1 views
1

jQuery UI 자동 완성 드롭 다운이 있습니다. 선택한 옵션을 비활성화하거나 숨긴 후에 옵션 중 하나를 선택하고 싶습니다. 예를 들면 : { "good", "better", "best"}는 "better"를 선택하고 자동 완성 제안 목록은 { "good", "best"}가됩니다. 사전에jQuery UI 자동 완성 - 선택 후 선택 옵션 사용 안 함

감사합니다.

여기에서 자세한 예 (@Whitaker 덕분에)

<input id="myElement" />​ 
var result; // should be array 
$("#myElement").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      type: "GET", 
      dataType: "json", 
      url: "autocomplete.php", 
      data: { 
        startsWith: request.term 
      }, 
      async:false, 
      success: function(data) { 
       result = data; // to do array assign process - not shown here 
       response($.ui.autocomplete.filter(result, request.term)); 
      } 
     }); 
    }, 
    select: function(event, ui) { 
     var index = $.inArray(ui.item.value, result); 
     result.splice(index, 1); 
    } 
}); 

의 jQuery UI 스플 라이스() 메소드는 정적 목록은 작동하지만, 모든 입력에 클릭 AJAX는 방법 새로 고침 결과를 얻을 코드를 디버깅 할 때 나는 흥미로운 점을 충족 요소. 클라이언트 측에서 작동해야하는 방법이 있습니까? 더 컨텍스트없이

답변

2

(.PHP 변경하지 않고) 그 좋은 예를 제공하지만 예를 들어 당신이 필요로하는 모든 경우,이 작업을해야 힘든 조금 :

var src = ['good', 'better', 'best']; 
$("#auto").autocomplete({ 
    source: function(request, response) { 
     response($.ui.autocomplete.filter(src, request.term)); 
    }, 
    select: function(event, ui) { 
     var index = $.inArray(ui.item.value, src); 
     src.splice(index, 1); 
    } 
}); 

예 :http://jsfiddle.net/LSMvS/

+1

당신의 예제는 정적리스트에 대해 작동합니다. (맞습니다. 첫 번째 질문은 설명하지 않았습니다.)하지만, AJAX가 매번 클릭하여 입력 요소로 새로 고침 결과를 얻는 지점을 구별합니다. – sirin

관련 문제