2012-11-20 3 views
1

Liferay와 함께 제공되는 Alloy UI 자동 완성 플러그인을 사용하고 있습니다. 자동 완성 된 부분이 정상적으로 작동합니다.합금 UI에서 자동 완성 항목 선택

자, 내가하고 싶은 것은 자동 완성 자동 제안에서 선택된 데이터를 캡처하고 작업을 수행하고 싶습니다.

ryan 
rynda 
ryab 

지금, 나는이 모든 항목을 클릭하거나 키보드의 화살표 키를 누른 상태로 선택하면,이 복사됩니다 입력 : 내가 자동으로 완성 ry를 작성하고 다음 목록은 다음과 같이 나오면

하자

는 말 소스 입력 상자를 자동 완성합니다. 하지만 내가 원하는 것은 사용자가 특정 항목을 선택할 때 아무 것도하지 않고 다시 돌아가서 ryab이라고 말하면됩니다. 내가 어떤 항목을 선택하면 해고되는 이벤트

autocomplete.on('itemSelect',function(event) { 
}; 

을 발견,하지만 난/false를 반환 객체를 비교하여 아무것도하지 않는 방법을 선택 객체를 얻는 방법을 알고하지 않습니다

.

도움이 될 것입니다. 트릭을 할해야

답변

3

다음 코드 : Autocomplete 위젯

var expandit = false; 

autocomplete.on('itemSelect', function(event) { 
    var currentValue = autocomplete.inputNode.get('value'); 
    //do comparison logic with currentValue here, and eventually set input node value to empty string 
    if (currentValue == 'foo') { 
     expandit = true; 
     autocomplete.inputNode.set('value', ''); 
     // stop event propagation 
     event.stopImmediatePropagation(); 
     return false; 
    } 
}); 

autocomplete.on('containerCollapse', function(event) { 
    //reopen the menu in case of "do nothing" selection 
    if (expandit) { 
     autocomplete._sendQuery(autocomplete.inputNode.get('value') + '*'); 
     expandit = false; 
    } 
}); 

합금 UI Reference APISource Code 유용되고있다.


프로그래밍 사용할 수있는 메뉴를 표시하려면 :

autocomplete._sendQuery(autocomplete.inputNode.get('value') + '*'); 
+0

감사합니다! 그것의 작동, 지금, 그 중 하나를 클릭하면 메뉴가 사라집니다 (제안 목록), "do nothing"항목을 클릭하면 메뉴를 표시 할 수 있습니까? –

+0

답글이 –

+0

으로 대답했습니다.이 점을 들었지만 원하는 것은 "아무 것도하지 않았습니다"라는 결과를 클릭하면 그 결과가 사라지고 그 결과를 그대로 보여주고 싶습니다. 가능한? –

관련 문제